直線検出について
解決したいこと
画像を二値化して直線検出を行おうとしています。HoughLine関数の引数をいろいろ試しながら行っているのですが左淵にのみ線が検出されるか、線が無数に検出されるかの二通りしかでてきません。線が無数に検出されてしまうのはまだわかるのですが左淵にのみ検出されるのはなぜなのか教えていただきたいです。元画像と二値化画像と直線検出の結果を以下に載せておきます。
該当するソースコード
import cv2
import numpy as np
import os
os.chdir("C:\\suzuki2")
img = cv2.imread("CRT_OK_03_001.JPG")
imgg = cv2.imread("xyzmono.jpg", 0)
lines = cv2.HoughLines(imgg, 1, np.pi/360, 600, 600, 100)
rows, cols = img.shape[:2]
for rho, theta in lines[:, 0]:
a = np.cos(theta)
b = np.sin(theta)
x0 = a*rho
y0 = b*rho
cv2.line(img,
(int(x0 - cols*(b)), int(y0 + cols*(a))),
(int(x0 + cols*(b)), int(y0 - cols*(a))),
(0, 0, 255), 2)
cv2.imwrite("lines.jpg", img)
0