Określanie wag masek 2d i 3d

0

W jaki sposób określić wagi masek(np maski Sobela, lub Prewitta) jeżeli ich wielkość będzie zadane przez użytkownika(np 7x7, lub 5x5x5)?

0

#odwrócony Gauss (1-exp(-(x/b)^2))
#albo Lorentz (1-1/((x/b)^2+1))
#albo na chama liniowo w przedziałach

Sobel dokładniej: (1-exp{(-(\frac{x}{b})<sup>2)})\cdot(\frac{1}{b \sqrt{\pi}}exp{-(\frac{y}{b})</sup>2)
gdzie x to współrzędne prostopadłe do badanego kierunku, a y współrzędne równoległe do badanego kierunku.

0

Z tego co rozumiem, to są wzory ogólne na maski wyostrzające, a jak określić wagi dla konkretnych masek, tzn user chce Sobela 7x7, albo Prewitta 3x3x3, a nie jakąś maskę wyostrzającą axaxa?

0

A skośne do kierunku?
Bo to chyba do 3d się nie nadaje.

0

Źle ci napisałem, przekombinowałem :/

Weź na po prostu załóż, że macierz opisuje wysokości odpowiednio nachylonej płaszczyzny (Prewitt).
Dla Sobela pomnóż to przez Gaussa, który zrobi ograniczenie na współrzędne wzdłuż badanego kierunku i powinno być ok.
Albo jeszcze prościej po prostu sobie wymyśl te wartości dla danego rozmiaru, tak na logikę np:

Zmyślony Prewitt 5x5

2 1 0 -1 -2
2 1 0 -1 -2
2 1 0 -1 -2
2 1 0 -1 -2
2 1 0 -1 -2

Zmyślony Sobel5x5

1 1 0 -1 1
2 1 0 -1 -2
4 2 0 -2 -4
2 1 0 -1 -2
1 1 0 -1 1
0

Czy taki zmyślony Sobel 3x3x3 wyglądałby tak?:
płaszczyzna 0:
-1 -2 -1
-2 -4 -2
-1 -2 -1
płaszczyzna 1:
same zera
płaszczyzna 2:
jak płaszczyzna jeden, ale na plusach

zmyślony Sobel 5x5x5 tak?
płaszczyzna 0:
-2 -4 -8 -4 -2
-4 -8 -16 -8 -4
-8 -16 -32 -16 -8
-4 -8 -16 -8 -4
-2 -4 -8 -4 -2
płaszczyzna 1:
-1 -2 -4 -2 -1
-2 -4 -8 -4 -2
-4 -8 -16 -8 -4
-2 -4 -8 -4 -2
-1 -2 -4 -2 -1
płaszczyzna 2:
zera
płaszczyzna 3:
tak jak jeden, ale z plusami
płaszczyzna 4:
tak jak 0, ale z plusami

Weź na po prostu załóż, że macierz opisuje wysokości odpowiednio nachylonej płaszczyzny (Prewitt).

W sumie jakby wysokość liczyć metryką maximum, znaczy na przekątnych byłoby to 2, to ma to sens.
Wielkie dzięki.

0

akurat 3x3 masz dane explicite na wiki. Sobel od Prewitta różni się tym, że nadaje większą wagę pikselom w badanej okolicy.
Oni dobrali te wartości jako wartości całkowite w celach optymalizacyjnych (to są lata '60te więc nie mieli dużo mocy do dyspozycji), by jak najwięcej operacji wykonywać na typach całkowitych (stałoprzecinkowych), ty nie musisz się tak ograniczać.
Zwróć uwagę, że dla badanego kierunku po jednej stronie prostej wagi są ujemne a po drugiej dodatnie, więc twoje przykłady są nieprawidłowe.

0
MarekR22 napisał(a):

akurat 3x3 masz dane explicite na wiki. Sobel od Prewitta różni się tym, że nadaje większą wagę pikselom w badanej okolicy.
Oni dobrali te wartości jako wartości całkowite w celach optymalizacyjnych (to są lata '60te więc nie mieli dużo mocy do dyspozycji), by jak najwięcej operacji wykonywać na typach całkowitych (stałoprzecinkowych), ty nie musisz się tak ograniczać.
Zwróć uwagę, że dla badanego kierunku po jednej stronie prostej wagi są ujemne a po drugiej dodatnie, więc twoje przykłady są nieprawidłowe.

Tylko ja podałem maskę 3x3x3(na wiki jej nie ma), i po jednej stronie(płaszczyzna) są ujemne, a po drugiej dodatnie.
Mam wrażenie, że zysk z wag zmiennoprzecinkowych będzie niewspółmierny do kosztów, bo zakładając obrazek 3d i maskę 3d mamy złożoność n3*m3, więc mocy i teraz brakuje.

0
DużaTajemnicaWiedzy napisał(a):
MarekR22 napisał(a):

akurat 3x3 masz dane explicite na wiki. Sobel od Prewitta różni się tym, że nadaje większą wagę pikselom w badanej okolicy.
Oni dobrali te wartości jako wartości całkowite w celach optymalizacyjnych (to są lata '60te więc nie mieli dużo mocy do dyspozycji), by jak najwięcej operacji wykonywać na typach całkowitych (stałoprzecinkowych), ty nie musisz się tak ograniczać.
Zwróć uwagę, że dla badanego kierunku po jednej stronie prostej wagi są ujemne a po drugiej dodatnie, więc twoje przykłady są nieprawidłowe.

Tylko ja podałem maskę 3x3x3(na wiki jej nie ma), i po jednej stronie(płaszczyzna) są ujemne, a po drugiej dodatnie.
Mam wrażenie, że zysk z wag zmiennoprzecinkowych będzie niewspółmierny do kosztów, bo zakładając obrazek 3d i maskę 3d mamy złożoność n3*m3, więc mocy i teraz brakuje.

n3 * m3
n-bok sześciennego obrazu
m-bok sześciennej maski

1 użytkowników online, w tym zalogowanych: 0, gości: 1