probleme mit houghtransformation
-
Hallo,
ich habe ein paar Problemchen mit der Houghtransformation.
Ein paar Beispiele/Text hab ich bereits angeschaut und versucht
selber eine HT zu implementieren aber irgendwie kommt da nicht
wirklich was brauchbares raus.Die Größe des Houghraums ergibt sich bei mir durch
die Bildgrößen des Kantenbildes wo ich die Houghtransformation
durchführen möchte, also... rmax = sqrt(w*w + h*h);
und phi_max = 180; Wenn ich ein Kantenbild der Größe 256x256 habe, ergibt sich somit für rmax 362.
Also währe mein Houghraum im einfachsten Fall x:180 und y: 362Nun durchlaufe ich das Kantenbild und führe die HT nur bei den Kantenpunkten durch.
double pi = 4.0 * atan(1.0); for(int y = 0; y < edge_height; ++y) { for(int x = 0; x < edge_width; ++x) { if(pEdge[y * edge_width + x] == 255) { double phi = p * pi / 180.0; double r = x * cos(phi) + y * sin(phi); if(r > 0) { accu[(int)r * 180 + p]++; } } } }
Dass man das durch sinus und cosinus Tabellen und entsprechender Quantisierung beschleunigen kann ist mir klar. Ich möchte wissen, ob ich Grundlegend irgend was falsch gemacht habe.
Grüße,
cmos