小编Kus*_*i5j的帖子

如何使用python opencv测量同一图像中两条线之间的角度?

我使用霍夫变换检测到一条不直的车道边界线,然后分别提取该线。然后与另一个具有直线的图像混合。现在我需要计算这两条线之间的角度,但我不知道这些线的坐标。所以我尝试使用给出垂直线坐标的代码,但它无法具体识别这些坐标。有没有办法测量这些线之间的角度?这是我的坐标计算代码和两行混合图像

import cv2 as cv
import numpy as np

src = cv.imread("blended2.png", cv.IMREAD_COLOR)

if len(src.shape) != 2:
    gray = cv.cvtColor(src, cv.COLOR_BGR2GRAY)
else:
    gray = src

gray = cv.bitwise_not(gray)
bw = cv.adaptiveThreshold(gray, 255, cv.ADAPTIVE_THRESH_MEAN_C, cv.THRESH_BINARY, 15, -2)

horizontal = np.copy(bw)
vertical = np.copy(bw)

cols = horizontal.shape[1]
horizontal_size = int(cols / 30)

horizontalStructure = cv.getStructuringElement(cv.MORPH_RECT, (horizontal_size, 1))
horizontal = cv.erode(horizontal, horizontalStructure)
horizontal = cv.dilate(horizontal, horizontalStructure)

cv.imwrite("img_horizontal8.png", horizontal)

h_transpose = np.transpose(np.nonzero(horizontal))
print("h_transpose")
print(h_transpose[:100])

rows = vertical.shape[0]
verticalsize = int(rows / 30)
verticalStructure = …
Run Code Online (Sandbox Code Playgroud)

python opencv image-processing computer-vision

5
推荐指数
1
解决办法
5821
查看次数