Spisu treści:
- Krok 1: Proces tworzenia
- Krok 2: Jak to działa?
- Krok 3: Co to robi?
- Krok 4: Dlaczego to zrobiłem?
- Krok 5: Ulepszenia i co przyniosą przyszłe wersje?
Wideo: GET1033 Kodowany procesor obrazu w języku Python: 5 kroków
2024 Autor: John Day | [email protected]. Ostatnio zmodyfikowany: 2024-01-30 11:31
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
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?
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:
Przetwarzanie obrazu za pomocą Raspberry Pi: Instalacja OpenCV i separacja kolorów obrazu: 4 kroki
Przetwarzanie obrazu za pomocą Raspberry Pi: Instalowanie OpenCV i separacji kolorów obrazu: Ten post jest pierwszym z kilku samouczków dotyczących przetwarzania obrazu, które mają zostać wykonane. Przyglądamy się bliżej pikselom, które składają się na obraz, dowiadujemy się, jak zainstalować OpenCV na Raspberry Pi, a także piszemy skrypty testowe do przechwytywania obrazu, a także c
Jak korzystać z multimetru w języku tamilskim - Przewodnik dla początkujących - Multimetr dla początkujących: 8 kroków
Jak korzystać z multimetru w języku tamilskim | Przewodnik dla początkujących | Multimetr dla początkujących: Witajcie przyjaciele, W tym samouczku wyjaśniłem, jak używać multimetru we wszelkiego rodzaju obwodach elektronicznych w 7 różnych krokach, takich jak 1) test ciągłości w celu rozwiązywania problemów ze sprzętem 2) Pomiar prądu stałego 3) testowanie diody i diody LED 4) Pomiar Żyw
Prosty program dodawania w szekspirowskim języku programowania: 18 kroków
Prosty program dodawania w szekspirowskim języku programowania: Szekspirowski język programowania (SPL) jest przykładem ezoterycznego języka programowania, który być może jest interesujący do nauki i przyjemny w użyciu, ale nie jest szczególnie przydatny w rzeczywistych zastosowaniach. SPL to język, w którym kod źródłowy r
Zakoduj i przetestuj komputer w języku maszynowym: 6 kroków
Koduj i testuj komputer w języku maszynowym: W tej instrukcji pokażę, jak kodować i testować program komputerowy w języku maszynowym. Język maszynowy jest językiem ojczystym komputerów. Ponieważ składa się z ciągów jedynek i zer, nie jest łatwo zrozumiały dla ludzi. Do pracy
DIY Skaner 3D oparty na świetle strukturalnym i wizji stereo w języku Python: 6 kroków (ze zdjęciami)
DIY Skaner 3D oparty na świetle strukturalnym i wizji stereo w języku Python: Ten skaner 3D został wykonany przy użyciu tanich konwencjonalnych elementów, takich jak projektor wideo i kamery internetowe. Skaner 3D ze światłem strukturalnym to urządzenie skanujące 3D do pomiaru trójwymiarowego kształtu obiektu za pomocą rzutowanych wzorów światła i systemu kamer