2009-08-13 7 views
7

Używam letter_regcog przykład z OpenCV, to używany zestaw danych z UCI, które mają strukturę takiego:Jak stworzyć fom dane obrazu jak „List Obrazek Recognition zestawem danych” od UCI

 
Attribute Information: 
    1. lettr capital letter (26 values from A to Z) 
    2. x-box horizontal position of box (integer) 
    3. y-box vertical position of box (integer) 
    4. width width of box   (integer) 
    5. high height of box   (integer) 
    6. onpix total # on pixels  (integer) 
    7. x-bar mean x of on pixels in box (integer) 
    8. y-bar mean y of on pixels in box (integer) 
    9. x2bar mean x variance   (integer) 
    10. y2bar mean y variance   (integer) 
    11. xybar mean x y correlation  (integer) 
    12. x2ybr mean of x * x * y  (integer) 
    13. xy2br mean of x * y * y  (integer) 
    14. x-ege mean edge count left to right (integer) 
    15. xegvy correlation of x-ege with y (integer) 
    16. y-ege mean edge count bottom to top (integer) 
    17. yegvx correlation of y-ege with x (integer) 

przykład:

 
T,2,8,3,5,1,8,13,0,6,6,10,8,0,8,0,8 
I,5,12,3,7,2,10,5,5,4,13,3,9,2,8,4,10 

teraz mam podzielony na segmenty obraz listu i chcę go przekształcić w dane takie jak to, aby je rozpoznać, ale nie rozumiem średniej wartości "6. onpix total # on pixels" co to znaczy? Czy możesz wyjaśnić średnią tych wartości? dzięki.

Odpowiedz

5

Nie jestem zaznajomiony z przykładem letter_recog OpenCV, ale wydaje się, że jest to wektor cech lub zbiór statystyk na temat obrazu litery, który jest używany do klasyfikowania przyszłych wystąpień litery. Wyniki twojej segmentacji powinny pozostawiać binarną maskę z literami 1 na literach i cyframi 0 wszędzie indziej. onpix to po prostu całkowita liczba pikseli, które spadają na literę, lub innymi słowy, suma twojej binarnej maski.

Większość pozostałych wartości na liście należy obliczyć na podstawie zestawu pikseli o wartości 1 w masce binarnej. x i y są po prostu pozycją piksela. Na przykład x-bar jest tylko średnią próbką wszystkich pozycji x wszystkich pikseli, które mają 1 w masce. Powinieneś być w stanie łatwo znaleźć referencje w Internecie dla matematycznych definicji średniej, wariancji, kowariancji i korelacji.

14-17 są nieco inne, ponieważ są oparte na pikselach krawędzi, ale obliczenia powinny być podobne, nieco ponad innym zestawem pikseli.

3

Nazywam się Antonio Bernal. Na stronie 3 tego artykułu znajdziesz dobry opis każdej wartości. Letter Recognition Using Holland-Style Adaptive Classifiers. Jeśli masz jakiekolwiek wątpliwości, daj mi znać. Próbuję uczynić ten algorytm działa, ale moim problemem jest to, że nie wiem jak skalować wartości, aby dopasować je do zakresu 0-15. Czy masz pojęcie, jak to zrobić?

+0

Cześć Anotnio, nie czytałem tego artykułu, ale wartości przeskalowania powinny być tylko pomnożenie przez współczynnik skali. Na przykład, jeśli mam opcję onpix = 0 do 255, mogę przeskalować, biorąc: scaled_onpix = (onpix * 15)/255 Czy tego właśnie szukałeś? –

+0

Walczę też z tym, jaki jest najlepszy sposób skalowania. Domyślam się, że autorzy muszą przyjąć górną granicę rozmiaru obrazu. Wygląda na to, że ponieważ większość liter zajmuje tylko ułamek obwiedni, coś w stylu # 6: onpix miałby znacznie większą maksymalną wartość niż jakikolwiek prawdziwy charakter, jaki kiedykolwiek osiągnąłby. – emschorsch

Powiązane problemy