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: 362

    Nun 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


Anmelden zum Antworten