Zaloguj się
Blog na Matlablog
Forum polskich użytkowników
 
UŻYTKOWNICY GRUPY PROFIL Zaloguj się, by sprawdzić wiadomości FAQ
 



Napisz nowy temat     Odpowiedz do tematu Zobacz poprzedni temat :: Zobacz następny temat

PorĂłwnywanie obrazĂłw
Forum MATLAB Strona Główna-> Przetwarzanie obrazów, grafika
Post Wysłany: 24 Styczenia 2018, Sro 11:28 am Temat postu: PorĂłwnywanie obrazĂłw Odpowiedz z cytatem
 
AUTOR:
StudentIB
Początki pisania


Dołączył: 14 Cze 2017
Posty: 6


Ogląda profil użytkownika Wyślij prywatną wiadomość
Witam,

na zajęciach bawiłem się już trochę w przetwarzanie obrazów w Matlabie, ale zastanawiam się jak można je porównywać. Powiedzmy, że mam wiele kolorowych obrazów różniących się tylko trochę od siebie (np. zdjęcia dłoni zrobione kamerą termowizyjną). Chcę jakoś ułatwić dostrzeżenie różnic między nimi. Nie chodzi mi o jakieś sieci neuronowe czy inne klasyfikatory. Nie chcę uczyć programu rozpoznawania cech na podstawie wcześniej wczytanych obrazów tylko ułatwić dojrzenie różnic między nimi. Wiadomo, że obrazy cyfrowe są reprezentowane przez macierze i można na nich dokonywać różnych operacji.
Jeśli chcę znaleźć różnice w obiektach zawartych na obrazie to powinienem najpierw zrobić binaryzację a potem jakieś odejmowanie macierzy od siebie czy coś w tym stylu ?
Chcąc wskazać różnice w kolorach co należy zrobić ?

Z góry dziękuję za pomoc


 

Post Wysłany: 24 Styczenia 2018, Sro 1:03 pm Temat postu: Jakiekolwiek róşnice w dwĂłch obrazkach Odpowiedz z cytatem
 
AUTOR:
Jacek Konieczny
Może pisać książki


Dołączył: 31 Mar 2009
Posty: 332
Skąd: Poznań


Ogląda profil użytkownika Wyślij prywatną wiadomość Odwiedź stronę autora
Generalnie można posłużyć się operacją XOR ( czyli operacją "różnicy symetrycznej" ). Jeżeli dwa obrazki byłyby identyczne, a więc dwie macierze byłyby identyczne, to funkcja XOR powinna zwrócić wartość 0.

https://www.mathworks.com/help/matlab/ref/xor.html?requestedDomain=true


 

Post Wysłany: 24 Styczenia 2018, Sro 2:49 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
StudentIB
Początki pisania


Dołączył: 14 Cze 2017
Posty: 6


Ogląda profil użytkownika Wyślij prywatną wiadomość
Dzięki za odpowiedź. Ogólnie dobry pomysł, ale mi niestety nie chodzi tylko o wskazanie zero-jedynkowo czy są różnice czy nie. Chciałbym zobaczyć te różnice, czyli wygenerować obraz, na którym będą tylko one (dlatego wspomniałem o odejmowaniu macierzy). Przykładowo mamy obraz, na którym jest prostokąt z okręgiem w środku i drugi z samym prostokątem. I chodzi o to, żeby na wygenerowanym obrazie dało się zobaczyć sam okrąg, ponieważ prostokąt jest na obu zdjęciach. Da się to zrobić na kolorowych obrazach czy konieczna będzie binaryzacja ?

No i musiałoby to być w miarę wygodne do zastosowania na większej ilości obrazów.

P.S. Co do wizualizacji tych różnic to przychodzi mi do głowy coś w stylu subplot z 2 oryginalnymi obrazami i różnicą między nimi, dalej następne 2 i różnica itd.

P.S.2. Ogólnie chodzi o ułatwienie żmudnego porównywania bardzo wielu kolorowych widm uzyskanych z urządzenia pomiarowego (specjalnego typu mikroskopu). Trzeba sprawdzić czy i czym się różnią.


 

Post Wysłany: 24 Styczenia 2018, Sro 3:22 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
Jacek Konieczny
Może pisać książki


Dołączył: 31 Mar 2009
Posty: 332
Skąd: Poznań


Ogląda profil użytkownika Wyślij prywatną wiadomość Odwiedź stronę autora
Oczywiście sama funkcja XOR tylko wskaże obecność rożnic ( miedzy obrazkami czy między macierzami ), ale sama nie wyodrębni "obszaru różnicującego". Ponieważ argumentami funkcji XOR będą macierze ( o identycznych rozmiarach ), zatem sama też zwróci macierz o takim samym rozmiarze. Elementy niezerowe w tej macierzy wynikowej będą znajdowały się w tych miejscach, w których występuje "różnicujący fragment" obu obrazów. Można znaleźć indeksy tych elementów niezerowych przy pomocy funkcji 'find', a następnie znaleźć położeni skrajnych indeksów ( skrajnych współrzędnych ) przy pomocy funkcji : 'min' oraz 'max'.

https://www.mathworks.com/help/matlab/ref/find.html


 

Post Wysłany: 24 Styczenia 2018, Sro 3:52 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
StudentIB
Początki pisania


Dołączył: 14 Cze 2017
Posty: 6


Ogląda profil użytkownika Wyślij prywatną wiadomość
Ale wynik wtedy będzie w formie "matematycznej", nie jako obraz zawierający te różnice ?

I czy pomysł z odejmowaniem się nie sprawdzi ?
A może coś takiego: http://etacar.put.poznan.pl/marcin.kielczewski/SWwR3.pdf


 

Post Wysłany: 24 Styczenia 2018, Sro 7:20 pm Temat postu: "Róşnicujący" fragment obrazu Odpowiedz z cytatem
 
AUTOR:
Jacek Konieczny
Może pisać książki


Dołączył: 31 Mar 2009
Posty: 332
Skąd: Poznań


Ogląda profil użytkownika Wyślij prywatną wiadomość Odwiedź stronę autora
Oczywiście będzie to zwrócenie "matematyczne" fragmentu macierzy wynikowej, ale na tej podstawie "matematycznej" będzie można wyznaczyć współrzędne do wycięcia fragmentu macierzy "obrazowej".


 

Post Wysłany: 24 Styczenia 2018, Sro 10:58 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
StudentIB
Początki pisania


Dołączył: 14 Cze 2017
Posty: 6


Ogląda profil użytkownika Wyślij prywatną wiadomość
Czyli na początek taki kod:

Kod:
P1=imread('obraz1.jpg');
P2=imread('obraz2.jpg');

A=xor(P1,P2);
B=find(A);

C=min(B);
D=max(B);


będzie ok ?

Jeśli tak to co dalej powinienem zrobić mając te skrajne współrzędne C i D ?


 

Post Wysłany: 24 Styczenia 2018, Sro 11:57 pm Temat postu: Odpowiedz z cytatem
 
AUTOR:
Jacek Konieczny
Może pisać książki


Dołączył: 31 Mar 2009
Posty: 332
Skąd: Poznań


Ogląda profil użytkownika Wyślij prywatną wiadomość Odwiedź stronę autora
Najlepiej poeksperymentować, ponieważ funkcja 'find' zwraca indeksy elementów niezerowych ( badanej macierzy ) w postaci wektora, tzn. nie zwraca par współrzędnych elementów niezerowych ( w macierzy dwuwymiarowej ), ale pojedynczy indeks ( tj. do elementu znajdującego się np. w drugim wierszu macierzy dodaje szerokość tego wiersza do pozycji "bieżącej". Dlatego należy użyć funkcji 'size' do macierzy wynikowej i przeliczyć indeks "wektorowy" na parę współrzędnych. Najlepiej przećwiczyć to jakiejś "próbnej" macierzy.


 

Forum MATLAB Strona Główna-> Przetwarzanie obrazów, grafika
Wyświetl posty z ostatnich:   

Napisz nowy temat     Odpowiedz do tematu Zobacz poprzedni temat :: Zobacz następny temat

Wszystkie czasy w strefie CET (Europa)

Skocz do:  

Statystyki forum:



Od dnia 08.06.2006 forum odwiedzano 41980056
Najwięcej użytkowników 266 było obecnych 19 Lutego 2015, Czw 7:03 pm

Aktualnie online:




Najnowsze posty na forum:
Suplement Diety  (17 Lutego 2018, Sob 6:03 pm)
{S01E02} Tu i teraz (Here and Now) online napisy PL 1x02 CDA  (17 Lutego 2018, Sob 5:41 pm)
{S01E05} Odpowiednik (Counterpart) online napisy PL 1x05 CDA  (17 Lutego 2018, Sob 5:38 pm)
{S02E06} RozwĂłd (Divorce) online napisy PL 2x06 CDA  (17 Lutego 2018, Sob 5:35 pm)
Pomiedzi slowami 2018 napisy/lektor online PL CAŁY FILM CDA  (17 Lutego 2018, Sob 5:10 pm)
Czwarta Władza 2018 napisy/lektor online PL CAŁY FILM CDA  (17 Lutego 2018, Sob 5:07 pm)
Kształt wody 2018 napisy/lektor online PL CAŁY FILM CDA  (17 Lutego 2018, Sob 5:02 pm)
Czarna Pantera 2018 napisy/lektor online PL CAŁY FILM CDA  (17 Lutego 2018, Sob 4:58 pm)
Nowe oblicze Greya 2018 napisy/lektor online PL CAŁY FILM  (17 Lutego 2018, Sob 4:54 pm)
Marcella {S02E02} online napisy PL 2x02 CDA/Zalukaj  (17 Lutego 2018, Sob 4:50 pm)
Twoje prawa:
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Nie możesz ściągać plików na tym forum