直線の座標について
opencvを用いて直線検出ができました。次は一枚目の画像の線の中で一番上にあるものの始点と終点の座標、また二枚目の画像の中で一番下にある線の始点と終点の座標を求めたいです。どのように求めればよろしいでしょうか。以下に画像と、コードを記述します。
コードは一枚目の画像を得るとき使ったものです。
該当するソースコード
import cv2
import numpy as np
import os
os.chdir("C:\\suzuki")
img = cv2.imread("ND03001.jpg")
img2 = cv2.cvtColor(img, cv2.COLOR_BGR2HSV)
cv2.imwrite("img_hsv.jpg", img2)
img_hsv_gray = cv2.imread("img_hsv.jpg", 0)
cv2.imwrite("hsv_gray.jpg", img_hsv_gray)
img3 = img2.copy()
img_edge = cv2.Canny(img_hsv_gray, 100, 100)
lines = cv2.HoughLines(img_edge, 1, np.pi/180, 120, 140, 100,)
rows, cols = img3.shape[:2]
for rho, theta in lines[:, 0]:
a = np.cos(theta)
b = np.sin(theta)
x0 = a*rho
y0 = b*rho
cv2.line(img3,
(int(x0 - cols*(b)), int(y0 + cols*(a))),
(int(x0 + cols*(b)), int(y0 - cols*(a))),
(0, 0, 255), 2)
cv2.imwrite("uppertest.jpg", img3)
0