在下面的输入图像中,我需要在python中使用openCV来检测飞机。这里最大的挑战是要检测的飞机是旋转变体,这意味着它们可以在任何方向上旋转。但是算法仍然需要检测,如下所示。我尝试了模板匹配,但它只能检测到与template.If飞机完全匹配的飞机正在向任何其他方向旋转,它无法检测到。我是图像处理的新手,所以任何想法/想法都将非常有帮助。
发布于 2021-04-18 23:28:32
我不确定它是否适用于一般情况,但对于你的照片来说,它很容易
img=cv2.imread('air.jpg')
gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
_,mask = cv2.threshold(gray, 230, 255, cv2.THRESH_BINARY)
rect=cv2.getStructuringElement(cv2.MORPH_RECT, (5, 5))
dilation = cv2.dilate(mask, kernel=rect, iterations=1)
contours = cv2.findContours(dilation,cv2.RETR_EXTERNAL, cv2.CHAIN_APPROX_NONE)[0]
for cont in contours:
x,y,w,h = cv2.boundingRect(cont)
cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)
https://stackoverflow.com/questions/67149503
复制相似问题