Metoda aktywnych konturów



Podobne dokumenty
WYMAGANIA EDUKACYJNE NA POSZCZEGÓLNE STOPNIE SZKOLNE PLASTYKA KLASA IV

Wymagania edukacyjne z języka angielskiego dla klasy czwartej

JĘZYK NIEMIECKI liceum

Zadanie 1: Piętnastka - uzupełnienie

1. Formułuje krótkie wypowiedzi ze zdań prostych w większości poprawnie zbudowanych na tematy bliskie uczniowi, związane z ilustracjami.

Automatyczne tworzenie trójwymiarowego planu pomieszczenia z zastosowaniem metod stereowizyjnych

Wymagania edukacyjne niezbędne do uzyskania poszczególnych ocen JĘZYK ANGIELSKI ZAWODOWY - INFORMATYKA KLASA 2 LUB 4

EDUKACJA POLONISTYCZNA

Metody numeryczne. materiały do wykładu dla studentów. 7. Całkowanie numeryczne

Wymagania edukacyjne i zasady oceniania. dla uczniów klas I

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

SCENARIUSZ LEKCJI. Streszczenie. Czas realizacji. Podstawa programowa

WYMAGANIA I KRYTERIA OCENIANIA Z JĘZYKA NIEMIECKIEGO DLA KLAS I III. obowiązujące od roku szkolnego 2015/2016

Słownictwo: umiejętność radzenia sobie w codziennych sytuacjach, odpowiedni dobór słownictwa, odpowiedni zakres słownictwa.

Wymagania na poszczególne oceny z j. niemieckiego w klasach 4-7. OCENĘ CELUJĄCĄ OTRZYMUJE UCZEŃ, KTÓRY:

EDUKACJA POLONISTYCZNA

Wymagania edukacyjne - język angielski - klasa IV- SP nr 7

Opis wymagań na poszczególne oceny z języka angielskiego:

PRZEDMIOTOWE ZASADY OCENIANIA Z INFORMATYKI

KRYTERIA OCEN Z PRZEDMIOTU JĘZYK NIEMIECKI




OpenAI Gym. Adam Szczepaniak, Kamil Walkowiak

Aby otrzymać ocenę BARDZO DOBRĄ, uczeń:

Kryteria oceniania języka angielskiego w Szkole Podstawowej nr 16 w Zespole Szkolno-Przedszkolnym nr 1 w Gliwicach

OCENA CELUJĄCA. Słuchanie: Uczeń:

Szkoła Podstawowa im. Kornela Makuszyńskiego w Bychlewie. Kryteria oceniania z języka angielskiego. kl. IV-V. Rok szkolny 2017/2018

EDUKACJA POLONISTYCZNA

KRYTERIA OCENIANIA W KLASIE II rok szkolny 2014/2015

Kryteria oceniania z j. angielskiego. Klasy I-III. Klasa I

Zacznijmy więc pracę z repozytorium. Pierwsza konieczna rzecz do rozpoczęcia pracy z repozytorium, to zalogowanie się w serwisie:

Funkcja jednej zmiennej - przykładowe rozwiązania 1. Badając przebieg zmienności funkcji postępujemy według poniższego schematu:

MATEMATYKA WYMAGANIA EDUKACYJNE DLA KLASY IV. Dział programowy: DZIAŁANIA W ZBIORZE LICZB NATURALNYCH

KRYTERIA OCENY BIEŻĄCEJ DLA UCZNIÓW KLASY II

Reprezentacja i analiza obszarów

OCENA OPISOWA DLA KLAS I-III Z J. ANGIELSKIEGO SKALA:

WYMAGANIA NA POSZCZEGÓLNE OCENY GRAMATYKA I SŁOWNICTWO CELUJĄCY (6)

Marzena Dobek-pedagog, logopeda. 1. Ćwiczenia sprawności manualnej. Ćwiczenia rozmachowe

CECHY BIOMETRYCZNE: ODCISK PALCA

Tutorial. HTML Rozdział: Ramki

Kryteria oceniania z języków w klasach 1-3 szkoły podstawowej

OCENA OPISOWA OCENA OPISOWA - KLASA I

Wymagana wiedza i umiejętności z języka niemieckiego dla uczniów szkoły gimnazjum na poszczególne stopnie szkolne obejmująca wszystkie sprawności

KRYTERIA OCENIANIA W KLASIE I w roku szkolnym 2016/2017

2. Graficzna prezentacja algorytmów

Opis wymagań, które uczeń powinien spełnić, aby uzyskać ocenę:

WYMAGANIA EDUKACYJNE Z JĘZ. NIEMIECKIEGO W KL.III GIM

Przedmiotowy System Oceniania w Zespole Szkół Ogólnokształcących nr 3 we Wrocławiu

Implementacja filtru Canny ego

Instrukcja obsługi programu Do-Exp

PRZEDMIOTOWY SYSTEM OCENIANIA W EDUKACJI WCZESNOSZKOLNEJ KLASA II ROK SZKOLNY 2018/2019

Czym jest całka? Całkowanie numeryczne

Wymagania edukacyjne z języka angielskiego dla klasy II gimnazjum. Ocenę dopuszczającą otrzymuje uczeń, który: OSIĄGNIĘCIA

KRYTERIA OCENIANIA KOMPETENCJI UCZNIA W KLASIE II

OCENA CELUJĄCA SPRAWNOŚĆ MÓWIENIA SPRAWNOŚĆ PISANIA GRAMATYKA I SŁOWNICTWO. - wypowiedź pisemna odpowiada założonej formie,

TKANINA WĘGLOWA 2. PLAIN 3K 200 g/m

Zastosowanie stereowizji do śledzenia trajektorii obiektów w przestrzeni 3D

while(wyrażenie) instrukcja

PRZEDMIOTOWE ZASADY OCENIANIA Z JĘZYKÓW OBCYCH W GIMNAZJUM

Kryteria wymagań z przedmiotu: Informatyka

Wymagania edukacyjne z języka niemieckiego dla klas I-II gimnazjum (język mniejszości narodowej)

Część XV C++ Ćwiczenie 1

Piotr Targowski i Bernard Ziętek WYZNACZANIE MACIERZY [ABCD] UKŁADU OPTYCZNEGO

Dodatek B - Histogram

Kryteria oceniania w klasach 1-3

Być może jesteś doświadczonym programistą, biegle programujesz w Javie,

Algorytmy decyzyjne będące alternatywą dla sieci neuronowych

Wykład 4 Przebieg zmienności funkcji. Badanie dziedziny oraz wyznaczanie granic funkcji poznaliśmy na poprzednich wykładach.

P R Z E D M I O T O W Y S Y S T E M O C E N I A N I A

Na poszczególne oceny uczeń powinien wykazać się następującymi wiadomościami i umiejętnościami w zakresie słownictwa:

Przedmiotowy system nauczania Das ist Deutsch! Kompakt

Błędy leksykalne są na ogół nietrudne do znalezienia.

Algorytm SAT. Marek Zając Zabrania się rozpowszechniania całości lub fragmentów niniejszego tekstu bez podania nazwiska jego autora.

WEWNĄTRZSZKOLNY SYSTEM OCENIANIA W KLASACH I - III

OCENA CELUJĄCA SPRAWNOŚĆ MÓWIENIA SPRAWNOŚĆ PISANIA GRAMATYKA I SŁOWNICTWO

Siły wewnętrzne - związki różniczkowe

Na poszczególne oceny uczeń powinien wykazać się następującymi wiadomościami i umiejętnościami w zakresie słownictwa:

PRZEDMIOTOWE ZASADY OCENIANIA

5. Badanie przebiegu zmienności funkcji - monotoniczność i wypukłość

Informatyk i matematyk: dwa spojrzenia na jedno zadanie (studium przypadku) Krzysztof Ciebiera, Krzysztof Diks, Paweł Strzelecki

Układ RLC z diodą. Zadanie: Nazwisko i imię: Nr. albumu: Grzegorz Graczyk. Nazwisko i imię: Nr. albumu:

Zastosowania Robotów Mobilnych

KRYTERIA OCENIANIA W KLASIE III Rok szkolny 2016/2017

PRZEDMIOTOWY SYSTEM OCENIANIA Z JĘZYKA NIEMIECKIEGO GIMNAZJUM

1 ( niezadawalająco ) - Ma trudności z czytaniem. Nie potrafi dokonać analizy i syntezy. Nie czyta nawet niewielkich fragmentów lektur.

Brief. Czas trwania 45 minut Poziom Starter. Plan zajęć

Definicje wyższego poziomu

KRYTERIA OCENIANIA W EDUKACJI WCZESNOSZKOLNEJ POSZCZEGÓLNYCH UMIEJĘTNOŚCI KLASA 1

Przedmiotowy System Oceniania. Języki obce

Diagnostyka obrazowa

Prezentacja, którą czytacie jest jedynie zbiorem sugestii. Nie zawiera odpowiedzi na pytania wprost. Jeżeli nie wiedzielibyście jak odpowiedzieć na

KRYTERIA WEWNATRZSZKOLNEGO SYSTEMU OPISOWEGO OCENIANIA WIADOMOSCI I UMIEJĘTNOSCI UCZNIA KLASY III OCENA CELUJĄCA ( 6 ) EDUKACJA PLASTYCZNO- TECHNICZNA

Reprezentacja i analiza obszarów

PL B3. BORCZYK MONIKA, Bielsko-Biała, PL BUP 13/09. MONIKA BORCZYK, Bielsko-Biała, PL WUP 12/13 RZECZPOSPOLITA POLSKA

Wyznaczenie długości fali świetlnej metodą pierścieni Newtona

WZORU UŻYTKOWEGO (19) (11)

Transkrypt:

Metoda aktywnych konturów Grzegorz Szuba (grzegorzszuba@poczta.onet.pl) informatyka IV rok Metody Rozpoznawania Obrazów 2005/2006 Treść zadania: Celem zadania jest stworzenie konturu, który będzie dążył do otoczenia plamy na czarnobiałym obrazie. W zamierzeniu, kontur powinien dokładnie się przykleić do plamy. Kod programu: %BW=imread('3lis.bmp'); %BW=imread('3mapa.bmp'); %BW=imread('3plama.bmp'); BW=imread('3plamy.bmp'); imshow(bw); [tmp, bx,by] = roipoly(); snake = zeros(size(bx,1)-1,2); for i = 1:size(bx,1)-1 snake(i,1)=int16(bx(i,1)); snake(i,2)=int16(by(i,1)); sasiad=[1 0; 0 1; -1 0; 0-1]; kierunek=[-1 1; -1-1; 1-1 1 1]; for i = 1: size(snake,1)-1 line([snake(i,1) snake(i+1,1)],[snake(i,2) snake(i+1,2)],'color', 'b','erasemode','none','marker','.','markersize', 20); line([snake(size(snake,1),1) snake(1,1)],[snake(size(snake,1),2) snake(1,2)],'color', 'b','erasemode','none','marker','.','markersize', 20); %pause; skok=51; while(skok>3) skok=skok-1

czy=1; while (czy==1) czy=0; %%%%%%%%%%%%%%%%%%%5 rozmiar=size(snake,1); for i = 1:size(snake,1) x=snake(i,1); y=snake(i,2); if(i==1) srodekx = int16((snake(2,1)+snake(rozmiar,1))/2); srodeky = int16((snake(2,2)+snake(rozmiar,2))/2); elseif(i==rozmiar) srodekx = int16((snake(1,1)+snake(rozmiar-1,1))/2); srodeky = int16((snake(1,2)+snake(rozmiar-1,2))/2); else srodekx = int16((snake(i-1,1)+snake(i+1,1))/2); srodeky = int16((snake(i-1,2)+snake(i+1,2))/2); ret = 0; sizes=0; while( ret==0) sizes=sizes+1; ktory=0; while(ret==0 && ktory<4) ktory=ktory+1; ii=-1; while(ret==0 && ii<sizes-1) ii=ii+1; nx = x + sasiad(ktory,1)*sizes + kierunek(ktory,1)*ii; ny = y + sasiad(ktory,2)*sizes + kierunek(ktory,2)*ii; if(nx<1) nx=1; if(ny<1) ny=1; if(nx>256) nx=256; if(ny>256) ny=256; if(bw(ny,nx)==1) r=int16(sqrt(double((x-srodekx)^2+(y-srodeky)^2))); d=int16(sqrt(double((x-nx)^2+(y-ny)^2))); d+r)); d+r)); %nowex=int16((((r*9+d)/10)*x+((d*9+r)/10)*srodekx)/( %nowey=int16((((r*9+d)/10)*y+((d*9+r)/10)*srodeky)/( nowex=int16((r*x+d*srodekx)/(d+r)); nowey=int16((r*y+d*srodeky)/(d+r)); nowex=int16(((skok-1)*nowex + nx)/skok); nowey=int16(((skok-1)*nowey + ny)/skok); %nowex=int16(((skok-1)*x + nx)/skok); %nowey=int16(((skok-1)*y + ny)/skok);

if(bw(nowey,nowex)==1) nowex=snake(i,1); nowey=snake(i,2); if(snake(i,1)~=nowex) czy = 1; if(snake(i,2)~=nowey) czy = 1; snake(i,1)=nowex; snake(i,2)=nowey; ret=1; b= [nx ny]; %%%%%%%%%%%%%%%%%%%%%%%%%%%5 pause(0.0001); imshow(bw); for i = 1: size(snake,1)-1 %hold on; line([snake(i,1) snake(i+1,1)],[snake(i,2) snake(i+1,2)],'color', 'b','erasemode','none','marker','.','markersize', 20); %hold on; line([snake(size(snake,1),1) snake(1,1)],[snake(size(snake,1),2) snake(1,2)],'color', 'b','erasemode','none','marker','.','markersize', 20);

Przykładowe wyniki: a) Najprostsza plama. Kontury działały na niej poprawnie. Zawiera jeden element wklęsły, ale niezbyt ostry, dlatego zwykle był on także dobrze odwzorowywany. b) Nieco trudniejsza plama. Zawiera wąską ale głęboką wklęsłość. Zwykle kontur nie potrafił jej dobrze odwzorować. Punkty układały się wzdłuż prostej łączącej dwa krańce wejścia a następnie były do nich przyciągane (zamiast do wnętrza plamy). c) Jeszcze jeden przykład z wklęsłością, tym razem jest ona głównym elementem plamy. Możemy dokładnie obserwować, w jaki sposób snake omija wnętrze.

d) Ciekawy przykład. Wbrew oczekiwaniom, kontur osiągał całkiem dobre rezultaty. Myślę, że było to spowodowane tym, że ponieważ nie potrafi wchodzić do wnętrza wklęsłości, traktował wolne przestrzenie jako właśnie takie miejsca i ostatecznie potraktował plamy tak jakby była jedną plamą z wieloma wklęsłościami. Ciekawe było także zachowanie na drobnych plamkach z prawej u góry. Wędrujący kontur czasem się na nich zatrzymywał, czasem je omijał, a czasem wybiórczo część pomijał, a część uznawał za znaczące. e) Na koniec przykład nie działający poprawnie. Jest to plama, która nie jest jednolita, ale składająca się z dużej ilości małych elementów. Dla ludzkiego oka jest tu oczywisty kształt, ale algorytm nie mający ogólnego spojrzenia a jedynie działający na pojedynczych pikselach czasami popełnia błędy i jak widać na załączonym przykładzie, niektóre punkty konturu wnikają do wnętrza plamy. Wnioski: Użyty algorytm doskonale nadaje się do wyznaczania konturów obłych, wypukłych kształtów. Problemy pojawiają się jednak w przypadkach, gdy część plamy jest wklęsła. Po licznych próbach i eksperymentach udało mi się osiągnąć tyle, że wklęsłości niezbyt głębokie a jednocześnie dosyć szerokie są w miarę dobrze odwzorowywane. Jednak nadal wklęsłości wąskie i głębokie nie są wychwytywane przez program, lub też są tylko nieznacznie sygnalizowane wgięciem konturu do wnętrza wklęsłości. Mankamentem algorytmu jest to, że nadaje się on do rozpoznawania kształtów jednolitych obszarów. Dla obszarów stworzonych z wielu małych plamek algorytm zawodzi, gdyż operując na pojedynczych pikselach, czasem wnika do wnętrza plamy, gdyż na poziomie pikseli jest to zwykła wklęsłość w figurze.