Wpis z mikrobloga

Pisząc magisterkę zauważyłem ciekawą sprawę. Zaimplementowałem filtr konwolucyjny Sobela o kernelu:
1 2 1
0 0 0
-1 -2 -1
w mikrokontrolerze i w Matlabie. W mikrokontrolerze wykorzystuję algorytm konwolucji filtrujący od lewego górnego rogu najpierw po kolumnach, potem po wierszach. (np. wiersz 1 - kolumny 1..240, potem wiersz 2 - kolumny 1..240 itd). W Matlabie wykorzystuję funkcję conv2.
Co mnie zaskoczyło to to że efekty działania tych filtrów są odwrotne - gradienty są wyznaczone w przeciwne strony. Z czego to wynika? Ten sam efekt występuje dla filtru sobela pionowego (kernel odwrócony o 90 stopni w lewo). Czyżby matlab filtrując funkcją conv2 indeksował od końca obrazu, albo jechał w pierwszej kolejności po wierszach a potem po kolumnach, co skutkuje odwrotnym gradientem?
Na zdjęciu - po lewej wynik z mikrokontrolera, po prawiej z Matlaba
#informatyka #programowanie #matlab #grafika
Pobierz xerxes931 - Pisząc magisterkę zauważyłem ciekawą sprawę. Zaimplementowałem filtr konw...
źródło: comment_2kVMYDXvRuG9r5v5xToWc0DklfGpevVt.jpg
  • 5