Verwenden von Hough TransformHallo,
Ich möchte die Hough-Transformationsfunktion in einem Programm verwenden, das ich schreibe, um Kanten zu erkennen, jedoch bin ich etwas verwirrt darüber, welche Werte die Eingabematrix enthalten soll. Ich habe versucht, den Skriptindex zu verwenden, aber es war nicht besonders hilfreich. Ist die Matrix die Matrix der rgb-Werte, der hsl-Werte oder eines Spaltenvektors der Intensitätswerte? Vielen Dank!
Noah
Re: Verwenden von Hough TransformBlogeintrag
Re: Verwenden von Hough TransformFolgendes habe ich gelernt:
Die Eingabematrix ist eine ungefähr quadratische Matrix von nicht negativen Werten, die unter Verwendung der Transformation in der Ausgabe akkumuliert werden. Ich glaube, dass die Transformation tatsächlich die sin / cos-Variation ist, die am Ende des Videos beschrieben wird. Es gibt zwei Parameter, die Sie beim Funktionsaufruf verwenden können:
HoughLineTransform (M, NAngle (180), NRadius (r))
benannt nach der Matrix. 180 ist die Standardanzahl der Winkel und die Anzahl der Spalten in der Ausgabematrix. "r" ist standardmäßig "sqrt" (nr ^ 2 + nc ^ 2), ungefähr die diagonalen "Pixel" der Matrix, und ist die Anzahl der Zeilen in der Ausgabematrix.
Ich würde auch vorschlagen, den canny-Filter im Skriptindex zu betrachten; Es hat ein sehr cooles Beispiel (2. Beispiel unter Filter).
Das Beispiel kann nicht aus dem Skriptindex gefiltert werden
Re: Verwenden von Hough TransformIch beantwortete Ihre Frage nicht, aber ich fand diese Erklärung der Transformation
Re: Verwenden von Hough TransformHi, Noah.
Die JSL-Syntaxreferenz enthält etwas mehr Informationen zu dieser Funktion als den Skriptindex. Es heißt, "es braucht eine Matrix von Intensitäten und transformiert sie auf eine Weise, die nützlich ist, um Streifen in der Matrix zu finden."