python - 如何找到检测到的霍夫线的角度?

标签 python opencv hough-transform

enter image description here

我的目标是使用 open cv 检测骨折的骨头。我尝试了以下代码。并获得了正确的 canny 检测边缘。还发现了 houghlines。但现在我的工作是检测图像中的断裂点。我不明白如何进一步进行。在一些博客中,我发现我们可以确定 houghlines 的角度来检测该线不是 staright。但不知道如何在我的代码中找到 houghline 的角度。有人可以帮忙吗?

import cv2
import numpy as np
import math
img = cv2.imread('bone2.jpg')
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
edges = cv2.Canny(gray,100,400,apertureSize =3)
cv2.imshow('canny',edges)
kernel=np.ones((5,5),np.uint8)
boneEdges=cv2.morphologyEx(edges,cv2.MORPH_GRADIENT,kernel)
minLineLength =1000
maxLineGap = 10
lines = cv2.HoughLinesP(boneEdges,1,np.pi/180,100,minLineLength,maxLineGap)

for x1,y1,x2,y2 in lines[0]:
 cv2.line(img,(x1,y1),(x2,y2),(0,255,0),2)
 slope=(y2-y1),(x2-x1)
 # print('slope',arctan(slope))
cv2.imwrite('houghlines5.jpg',img)
cv2.waitKey(0)

enter image description here

最佳答案

此函数返回一组 rho theta 集,其中 theta 是您要查找的角度。这是 docs .

关于python - 如何找到检测到的霍夫线的角度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36960007/

相关文章:

python - 如何从 Windows-1252 文件读取 ® 字符并写入 UTF-8 文件

python - 错误 : not all arguments converted during bytes formatting

c++ - 使用 Opencv 直接从网络摄像头获取灰度图像

python - 将图形从扫描的文档转换为数据

python - 在 CSV 中转置特定数据

Python - GroupBy 对象的滚动函数

c++ - 在 VSCode 中使用 MSVS 编译器构建 OpenCV 应用程序

python - 如何使用Python和OpenCV实现BRISK检测特征?

Python OpenCV : Hough Transform does not detect obvious lines

opencv - cv::HoughCircles 中的 dp 参数究竟是如何工作的?