【发布时间】:2016-04-30 20:38:36
【问题描述】:
我的目标是使用 open cv 检测骨折的骨头。我尝试了以下代码。并得到了正确的精确检测边缘。还发现了轮廓线。但现在我的工作是检测图像中的断裂点。我不明白如何进一步进行。在一些博客中,我发现我们可以确定轮廓线的角度来检测该线是否是直角的。但不知道如何在我的代码中找到水平线的角度。有人可以帮忙吗?
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)
【问题讨论】:
标签: python opencv hough-transform