Spisu treści:

GET1033 Kodowany procesor obrazu w języku Python: 5 kroków
GET1033 Kodowany procesor obrazu w języku Python: 5 kroków

Wideo: GET1033 Kodowany procesor obrazu w języku Python: 5 kroków

Wideo: GET1033 Kodowany procesor obrazu w języku Python: 5 kroków
Wideo: QR CODE в stable diffusion | automatic1111 2024, Listopad
Anonim
GET1033 Kodowany procesor obrazu w Pythonie
GET1033 Kodowany procesor obrazu w Pythonie

Ten projekt dotyczy stworzenia mojego własnego kodowanego w Pythonie procesora obrazu dla mojego modułu, GET1033 Exploring Computational Media Literacy. Najpierw użytkownik będzie musiał wprowadzić własne zdjęcie, a następnie wybrać żądane filtry. Stworzyłem 9 filtrów, które są: Pokaż obraz wejściowy, Lustro, Umieść za paskiem, Umieść za przezroczystym paskiem, Okrągły obraz, Rozmycie, Obrót, Zmiana koloru i Photoshop. Po wybraniu jednego z nich obraz wyjściowy będzie miał efekty. Jak widać na zdjęciu, jest to filtr do zmiany koloru, w którym wykrywam zielone piksele na zdjęciu i konwertuję je na kolor różowy.

Krok 1: Proces tworzenia

Proces tworzenia
Proces tworzenia

Krok 1: Pobierz Python stąd!

Krok 2: Zakoduj to!

Przede wszystkim zaimportowałem kilka pakietów z wstępnie zakodowaną funkcją dostępną do wykorzystania w kodzie. Zaimportowane przeze mnie pakiety to Scipy, Matplot i Numpy.

W przypadku Scipy zaimportowałem różne procedury (MISC) i wielowymiarowe przetwarzanie obrazu (NDIMAGE). MISC służy do odczytywania i zapisywania obrazu, podczas gdy NDIMAGE służy do filtrowania Gaussa i obracania.

Dla Matplotlib jest to biblioteka do kreślenia wykresów w Pythonie, która zapewnia interfejs podobny do MATLAB.

Dla Numpy jest to biblioteka, która może obsługiwać duże, wielowymiarowe tablice i macierze. Numpy jest ważny, ponieważ umożliwia mi wydajną edycję tablicy czerwonych, zielonych i niebieskich (RGB) obrazów podczas dodawania lub mnożenia tablicy. Na przykład A = [0, 1, 2] i przy obecności Numpy, A*2 = [0, 2, 4] zamiast otrzymywać A*2 = [0, 1, 2, 0, 1, 2].

Kiedy pracuję nad filtrem do zmiany koloru, staram się zamienić zielone włosy dziewczyny na kolor różowy. Tak więc wykryłem zielone piksele na zdjęciu i pomnożyłem je przez (2, 0,2, 0,8). W ten sposób zdobędę różową dziewczynę zamiast prawdziwych zielonych włosów.

Jeśli chodzi o Photoshopa, staram się zastąpić zielone tło na zdjęciu Avengers zdjęciem NUS. Tak więc pomnożyłem 0 przez wszystkie zielone piksele, a następnie dodałem piksele obrazu NUS do zielonych pikseli. Dzięki temu uzyskam zdjęcie Avengers w NUS.

Załączyłem również mój kod na GitHub i możesz go pobrać tutaj !

Krok 2: Jak to działa?

Jak to działa?
Jak to działa?

Schemat blokowy jest dołączony, aby pokazać, jak działa cały kod!

1. Najpierw użytkownik jest proszony o wprowadzenie wybranego obrazu. 2. Następnie wyświetli listę filtrów, z których użytkownik może wybrać. 3. Jeśli użytkownik wpisał „1” do „9”, obraz zostanie przetworzony i wydrukowany zgodnie z każdym filtrem.4. Jeśli użytkownik wpisał „R”, cały program zostanie zresetowany i użytkownik zostanie ponownie poproszony o przesłanie zdjęcia.5. Jeśli użytkownik wpisał 'Q', program wyjdzie z pętli.

Krok 3: Co to robi?

W tym projekcie jest w sumie 9 filtrów, które stworzyłem, a mianowicie

1. Pokaż obraz wejściowy - aby wyświetlić przesłany obraz

2. Odbicie lustrzane - odbicie lustrzane obiektu, ale odwrócone w kierunku

3. Put Behind Bar - Wstawianie czarnych pionowych pasków o szerokości i odstępach równych 50 pikselom.

4. Put Behind Transparent Bar - Wstawianie przezroczystych pionowych pasków o szerokości i odstępach równych 50 pikselom

5. Okrągły obrazek - aby utworzyć okrąg na środku obrazu

6. Rozmycie - rozmycie obrazu

7. Obrót - Aby obrócić obraz o 45 stopni

8. Zmiana koloru - Aby zmienić kolor zielony na różowy

9. Photoshop - Aby zmienić część obrazu na inny obraz

Krok 4: Dlaczego to zrobiłem?

Wcześniej jestem ciekaw, jak Instagram i Snapchat wymyślili filtry do zdjęć, które uczyniły je tak interesującymi. Po wykładzie i tutorialu o Rozszerzonej Rzeczywistości chciałem zrobić coś z tym związanego, ale chciałbym zacząć od podstaw, czyli przetwarzania obrazu, ponieważ jestem słaby w programowaniu i chciałbym nauczyć się kodowania w Pythonie.

Krok 5: Ulepszenia i co przyniosą przyszłe wersje?

Jednym z ulepszeń tego projektu jest stworzenie własnych filtrów twarzy w filmach na żywo za pomocą Pythona. Próbowałem to zakodować, ale nie mogłem osiągnąć żadnego z nich z powodu braku wiedzy programistycznej i ograniczeń czasowych. Poza tym procesor obrazu może być „mądrzejszy”, ponieważ może automatycznie wykrywać kolory i zmieniać tylko te części, które chcemy. Jest jeden raz, kiedy próbuję zmienić czarne włosy osoby na inny kolor. W końcu zmieniam kolor oczu i włosów na niebieski, co sprawia, że zdjęcie wygląda bardzo dziwnie. Mam nadzieję, że uda mi się stworzyć własną twarz

Zalecana: