Implementacja filtru Canny ego

Podobne dokumenty
Przetwarzanie obrazu

Parametryzacja obrazu na potrzeby algorytmów decyzyjnych

Filtracja obrazu operacje kontekstowe

Analiza obrazów - sprawozdanie nr 2

Przetwarzanie obrazów rastrowych macierzą konwolucji

Spośród licznych filtrów nieliniowych najlepszymi właściwościami odznacza się filtr medianowy prosty i skuteczny.

Detekcja twarzy w obrazie

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 8 AiR III

Algorytmy Laplacian of Gaussian i Canny ego detekcji krawędzi w procesie analizy satelitarnych obrazów procesów atmosferycznych.

Ćwiczenia z grafiki komputerowej 5 FILTRY. Miłosz Michalski. Institute of Physics Nicolaus Copernicus University. Październik 2015

Wyższa Szkoła Informatyki Stosowanej i Zarządzania

Filtracja splotowa obrazu

Segmentacja przez detekcje brzegów

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 9 AiR III

Wykrywanie twarzy na zdjęciach przy pomocy kaskad

Detekcja punktów zainteresowania

Przekształcenia kontekstowe. Filtry nieliniowe Typowy przykład usuwania zakłóceń z obrazu

Cyfrowe przetwarzanie obrazów i sygnałów Wykład 7 AiR III

Wyższa Szkoła Informatyki Stosowanej i Zarządzania

Kurs Adobe Photoshop Elements 11

Zbigniew Sołtys - Komputerowa Analiza Obrazu Mikroskopowego 2016 część 5

Akademia Górniczo - Hutnicza im. Stanisława Staszica w Krakowie. Projekt. z przedmiotu Analiza i Przetwarzanie Obrazów

Filtracja obrazu operacje kontekstowe

Laboratorium. Cyfrowe przetwarzanie sygnałów. Ćwiczenie 11. Filtracja sygnałów wizyjnych

Analiza obrazów. Segmentacja i indeksacja obiektów

Diagnostyka obrazowa

Filtracja w domenie przestrzeni

Operacje przetwarzania obrazów monochromatycznych

Grafika komputerowa. Dr inż. Michał Kruk

1. Otwórz pozycję Piston.iam

Diagnostyka obrazowa

Zadanie Wstaw wykres i dokonaj jego edycji dla poniższych danych. 8a 3,54 8b 5,25 8c 4,21 8d 4,85

P R Z E T W A R Z A N I E S Y G N A Ł Ó W B I O M E T R Y C Z N Y C H

Raport. Bartosz Paprzycki UMK 2009/2010

i ruchów użytkownika komputera za i pozycjonujący oczy cyberagenta internetowego na oczach i akcjach użytkownika Promotor: dr Adrian Horzyk

Grafika komputerowa. Zajęcia IX

BIBLIOTEKA PROGRAMU R - BIOPS. Narzędzia Informatyczne w Badaniach Naukowych Katarzyna Bernat

Zawartość. Wstęp. Moduł Rozbiórki. Wstęp Instalacja Konfiguracja Uruchomienie i praca z raportem... 6

Spis treści. strona 1 z 11

Metody kodowania wybranych cech biometrycznych na przykładzie wzoru naczyń krwionośnych dłoni i przedramienia. Mgr inż.

Fotografia cyfrowa obsługa programu GIMP. Cz. 18. Tworzenie ramki do zdjęcia. materiały dla osób prowadzących zajęcia komputerowe w bibliotekach

Analiza obrazu. wykład 4. Marek Jan Kasprowicz Uniwersytet Rolniczy 2009

5. Bazy danych Base Okno bazy danych

Diagnostyka obrazowa

WYKŁAD 3 WYPEŁNIANIE OBSZARÓW. Plan wykładu: 1. Wypełnianie wieloboku

Fotografia cyfrowa obsługa programu GIMP

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

Przetwarzanie obrazów wykład 4

MATERIAŁY DYDAKTYCZNE. Streszczenie: Z G Łukasz Próchnicki NIP w ramach projektu nr RPMA /15

Photoshop. Tworzenie tekstu

Przetwarzanie i Kompresja Obrazów. Segmentacja

Wtyczka Crop3D. Wstęp. Implementacja. Sprawozdanie z realizacji projektu Bartłomiej Trzewiczek Kraków,

Segmentacja obrazów cyfrowych z zastosowaniem teorii grafów - wstęp. autor: Łukasz Chlebda

Wyższa Szkoła Informatyki Stosowanej i Zarządzania

Filtracja liniowa (metody konwolucyjne, tzn. uwzględniające pewne otoczenie przetwarzanego piksla):

Diagnostyka obrazowa

Diagnostyka obrazowa

Detekcja kodów kreskowych w obrazach za pomocą filtrów gradientowych i transformacji morfologicznych

osiągnąd z zakładki zaznaczenie wybieramy powiększ obszar zaznaczenia

Metaliczny button z deseniem.

Edytor tekstu OpenOffice Writer Podstawy

Sposób tworzenia tabeli przestawnej pokażę na przykładzie listy krajów z podstawowymi informacjami o nich.

Funkcje standardowe. Filtrowanie

ANALIZA I INDEKSOWANIE MULTIMEDIÓW (AIM)

Przetwarzanie obrazu

FUNKCJA LINIOWA - WYKRES

I. Program II. Opis głównych funkcji programu... 19

Proste metody przetwarzania obrazu

Grafika Komputerowa Wykład 2. Przetwarzanie obrazów. mgr inż. Michał Chwesiuk 1/38

Instrukcja obsługi programu Creative Fotos

Konsorcjum FEN Sp. z o.o. ul. Dąbrowskiego 273A, Poznań Mateusz Zapotoczny support [at] fen.pl

Minimalna wspierana wersja systemu Android to zalecana 4.0. Ta dokumentacja została wykonana na telefonie HUAWEI ASCEND P7 z Android 4.

Antyaliasing w 1 milisekundę. Krzysztof Kluczek

Kurs Adobe Photoshop Elements 11

Diagnostyka obrazowa

Obsługa modułu. e-deklaracje. w programach WF-FaKir oraz WF-Gang. (opracował Przemysław Gola)

Tworzenie i modyfikacja modelu geologicznego

JAK ZAPROJEKTOWAĆ WYGLĄD STRONY INTERNETOWEJ W KREATORZE CLICK WEB?

Adobe Photoshop lab. 3 Jacek Wiślicki, 1. Napisy (c.d.) Ogień Miód Metal Aqua...

Zastosowanie Informatyki w Medycynie

Rozpoznawanie Twarzy i Systemy Biometryczne

Cyfrowe Przetwarzanie Obrazów i Sygnałów

Skalowanie i ustawianie arkuszy/układów wydruku w AutoCAD autor: M. Motylewicz, 2012

FUNKCJA LINIOWA - WYKRES. y = ax + b. a i b to współczynniki funkcji, które mają wartości liczbowe

MS Excell 2007 Kurs podstawowy Filtrowanie raportu tabeli przestawnej

9. OBRAZY i FILTRY BINARNE 9.1 Erozja, dylatacja, zamykanie, otwieranie

GIMP - Filtr Deformowanie (IWarp) r

KRYPTOGRAFIA I OCHRONA DANYCH PROJEKT

Rozpoznawanie obrazów na przykładzie rozpoznawania twarzy

Edytor materiału nauczania

Instrukcja użytkownika

Nowa płatność Dodaj nową płatność. Wybierz: Płatności > Transakcje > Nowa płatność

Spis treści. Analiza Ryzyka Instrukcja Użytkowania

Pokaz slajdów na stronie internetowej

GRAFIKA INŻYNIERSKA INSTRUKCJA PODSTAWOWE KOMENDY AUTOCADA - TRÓJKĄTY

Politechnika Świętokrzyska. Laboratorium. Przetwarzanie obrazów medycznych. Ćwiczenie 5. Filtracja kontekstowa obrazów.

Wyższa Szkoła Informatyki Stosowanej i Zarządzania WIT

Procedury techniczne modułu Forte Kontroling. Raportowanie danych w MS Excel - Konfiguracja IIS na Windows oraz wykonanie importu

etrader Pekao Podręcznik użytkownika Strumieniowanie Excel

Transkrypt:

ANALIZA I PRZETWARZANIE OBRAZÓW Implementacja filtru Canny ego Autor: Katarzyna Piotrowicz Kraków,2015-06-11

Spis treści 1. Wstęp... 1 2. Implementacja... 2 3. Przykłady... 3 Porównanie wykrytych krawędzi dla różnych wartości progów... 3 Porównanie operatora Sobela i Previtta.... 7 Wprowadzenie szumów... 7 Detekcja krawędzi filtrem Canny ego a operatorem Sobela.... 9 Podsumowanie... 9 Kraków,2015-06-11

1. Wstęp 1 Tematem projektu była implementacja filtru Canny ego. Algorytm ten pozwala na detekcję krawędzi na obrazie. Jest to algorytm wieloetapowy. Pierwszym etapem jest przefiltrowanie obrazu filtrem Gaussa. Operacja ta ma na celu rozmycie obrazu wejściowego, a przez to redukcję drobnych szumów. Ważnymi parametrem filtru Gaussa jest odchylenie standardowe. Na jego podstawie można za pomocą wzoru: ( ) wyliczyć współczynniki maski filtru. Operacja filtrowania, polega na wykonaniu splotu macierzy obrazu z wyliczoną maską filtru Gaussa. Kolejnym etapem jest szukanie pochodnych kierunkowych, czyli gradientu korzystając z operatorów krawędziowych, np. operatora Sobela. Zwraca on pierwszą pochodną zarówno dla kierunku poziomego jak i pionowego. Następnie końcowy gradient można wyliczyć jako średnią geometryczną gradientu poziomego i pionowego korzystając ze wzoru: Następnie określany jest kierunek krawędzi na obrazie. Można do tego wykorzystać obliczone pochodne kierunkowe, czyli oraz. Dla każdego punktu obrazu obliczono kąt między wektorem gradientu a kierunkiem wierszy. Symbolicznie można zapisać to następująco: ( ) Czwarty etap polega na wygaszeniu pikseli, które nie mają maksymalnej wartości natężenia. Dzięki temu krawędzie będą odpowiednio wyraźne, oraz zostanie zredukowany efekt rozmazania krawędzi. W tym celu należy policzyć gradient z prawej i lewej strony krzywej. Dla każdego piksela krzywej wyznacza się otoczenie złożone z 8 pikseli. Ponieważ znamy już orientację krzywej wybieramy te piksele otoczenia, przez które przechodzi prosta prostopadła do krawędzi. Wartości gradientu można uzyskać za pomocą prostej interpolacji korzystając ze współrzędnych wybranych pikseli otoczenia. ( ) ( ) 1 Katarzyna Piotrowicz. Aplikacja do biometrycznej identyfikacji osób na podstawie indywidualnych cech tęczówki oka. Praca Inżynierska, 2015, str.7-9.

( ) ( ) Poglądowy rysunek znajduje się poniżej: Piksel o współrzędnych ( ) jest gaszony gdy jego natężenie jest mniejsze od natężenia obrazu w punkach lub. Tak przygotowany obraz jest poddawany progowaniu histogramu. Progowanie nadaje krawędziom ostatecznego kształtu. Wyróżnia się tutaj 2 parametry, próg górny oraz dolny. Dla każdego piksela potencjalnie nalężącego do krawędzi sprawdza się trzy przypadki: 1) gdy ( ) ( ) piksel to krawędź, jest maksymalnie rozjaśniany 2) gdy ( ) ( ( ) ( )) należy zbadać otoczenie piksela. Gdy uśredniony gradient wszystkich pikseli otoczenia jest większy od to piksel jest uznawany jako część krawędzi. 3) gdy ( ) ( ) piksel należy do krawędzi, jest maksymalnie wygaszany. Ostatnim elementem potrzebnym do poprawnego wykrycia krawędzi jest ponowne zbadanie otoczenia w celu domknięcia i wygładzenia krawędzi. 2. Implementacja Algorytm został zaimplementowany w języku Java przy wykorzystaniu biblioteki ImageJ. Po uruchomieniu programu wyświetla się niewielkie okno w którym można ustawić parametry progu górnego i dolnego, wybrać promień rozmycia Gaussowskiego oraz zaznaczyć czy do szukania gradientu ma służyć operator Sobela postaci:

[ ] [ ] gdzie * oznacza operację splotu. czy maska Previtty postaci: [ ] [ ] Poza tym jest wyświetlany także obraz, którego krawędzie chcemy znaleźć. Rysunek 1 Okienko doboru parametrów Po wybraniu przycisku Apply wybrane ustawienia zostaną pobrane z okna dialogowego oraz rozpocznie się przetwarzanie obrazu. Uwaga: Opcja Ok powodują zakończenie programu bez przetwarzania obrazu. Przycisku Apply można używać wielokrotnie. 3. Przykłady Porównanie wykrytych krawędzi dla różnych wartości progów Poniżej przestawiono kilka przykładów dla różnych wartości progowych wykorzystując operator Sobela. Obraz oryginalny wygląda następująco:

Próg dolny: 15, próg górny: 100 : Próg dolny: 40, próg górny: 100

Próg dolny: 80, próg górny: 100 Próg dolny: 30, próg górny: 150

Próg dolny 150, próg górny: 100 W zależności od tego jak bardzo dokładnych krawędzi potrzebujemy, można zmieniać wartości progów tak, by osiągnąć satysfakcjonujące wyniki. Przeważnie przyjmuje się, że próg górny jest o około 2/3 wyższy niż próg dolny. Potwierdzają to przeprowadzone testy.

Porównanie operatora Sobela i Previtta. Poniżej przedstawiono wyniki operacji przeprowadzonych dla operatora Sobela i Previtta. Dla obu operatorów wartość górna progu wynosiła 100 a dolna 20. Operator Sobela Operator Previtta Krawędzie znalezione przy użyciu Previtta są nieco grubsze, jaśniejsze i bardziej wyraźne. Nie ma to jednak dużego wpływu na jakość przetwarzania. Wprowadzenie szumów Kolejnym testem jaki wykonano jest sprawdzenie czy algorytm poradzi sobie z zaszumionymi obrazami. W tym celu zmieniano wartość parametru odpowiadającego za promień funkcji Gaussa przy rozmyciu. Aby wyznaczyć odpowiednie próg dolny i górny skorzystano najpierw ze zdjęcia niezaszumionego. Zostały one ustawione odpowiednio na 27 i 143. Promieniu rozmycia to 3. Wykryte krawędzie dla zdjęcia niezaszumionego:

Obraz oryginalny, zaszumiony oraz wynik przetwarzania dla promienia równego 3: Wynik przetwarzania dla promienia równego 4 oraz promienia równego 5 : Dla wartości promienia równej 5, krawędzie zostały dosyć dobrze znalezione. Ustawienie wartości mniejszych lub większych daje gorsze wyniki. Oczywiście wartość promienia (jak i pozostałe parametry) należy zawsze ustawiać indywidualnie dla każdego zdjęcia.

Detekcja krawędzi filtrem Canny ego a operatorem Sobela. Ostatnim z wykonanym testem jest porównanie filtru Canny ego z filtrem Sobela. Poniżej po lewej stronie znajduje się obraz przefiltrowany filtrem Canny ego a po prawej operatorem Sobela. Widad bardzo dużą różnicę w filtrach. Krawędzie znalezione filtrem Canny ego są cieosze oraz mają tylko jeden kolor. Są także bardziej wyraźne, lepiej domknięte. Obraz jest wyraźniejszy i łatwiejszy do dalszego przetwarzania (na przykład łatwiej na nim znaleźd konkretne kształty). Natomiast przefiltrowanie filtrem Sobela dało ciekawszy efekt. Krawędzie nie są jednorodne, mają różną szerokośd. Podsumowanie Celem projektu była implementacja filtry Canny ego. Jest to filtr wieloetapowy, który pozwala na znalezienie krawędzi na obrazie. Zaimplementowano możliwość zmiany następnujących parametrów: progu górnego i dolnego promienia funkcji Gaussa wybór między maską a operatorem Sobela. Algorytm dobrze radzi sobie z zaszumionymi obrazami. Dzięki możliwości zmiany parametrów, może być używany do różnego rodzaju zdjęć oraz można decydować jak bardzo szczegółowo ma wyglądać obraz po przetworzeniu.