Opencvの "cv2.HoughLines"を使ってイメージ内の行を検出することができました。しかし、私は、RHTがHTよりも優れた性能を発揮していると、文献レビューでopencv pythonを使って行を検出するために、Randomized Hough Transformを実装する方法を知りたいと思っています。誰でも助けてくれますか?どのように線を検出するランダムなハフ変換を実装するには?
は、次のコード
lines = cv2.HoughLines(imgray, 1, np.pi/180, 300)
for rho, theta in lines[0]:
a = np.cos(theta)
b = np.sin(theta)
x0 = a * rho
y0 = b * rho
x1 = int(x0 + 1000 * (-b))
y1 = int(y0 + 1000 * (a))
x2 = int(x0 - 1000 * (-b))
y2 = int(y0 - 1000 * (a))
cv2.line(imgray, (x1, y1), (x2, y2), (0, 0, 255), 2)
、このような複雑なアルゴリズムを実装する方法をあなたに教える方法このコミュニティの範囲を超えています。それはあなた自身で学ばなければならないことです。私はいくつかのソースコードと論文をオンラインで見つけることができると確信しています。あなたは途中で小さなステップで助けを求めるかもしれませんが、誰もここに200ページを書きません。 – Piglet
1つだけでなく複数の行が検出されるのですか? – annie
あなたはおそらく2つ以上の行を検出するでしょうが、少なくともあなたのコードでは、cv2.lineの呼び出しがループの外側にあるので、あなたのコードは1行しか描画しません。 – Piglet