Python OpenCV查找图像中的所有三角形

时间:2015-02-24 06:33:38

标签: python opencv image-processing

我试图用该代码找到图像中的所有三角形但没有成功

import numpy as np
import cv2

img = cv2.imread('2.jpg')

for gray in cv2.split(img):
    canny = cv2.Canny(gray,50,200)

    contours,hier = cv2.findContours(canny,1,2)
    for cnt in contours:
        approx = cv2.approxPolyDP(cnt,0.02*cv2.arcLength(cnt,True),True)
        if len(approx)==3:
            cv2.drawContours(img,[cnt],0,(0,255,0),2)
            tri = approx

for vertex in tri:
    cv2.circle(img,(vertex[0][0],vertex[0][1]),5,255,-1)

cv2.imshow('img',img)
cv2.waitKey(0)
cv2.destroyAllWindows()

所以从这张照片

So from this

我想得到这个(看看车牌,我用红线三角形填充)

enter image description here

我现在得到的

enter image description here

1 个答案:

答案 0 :(得分:2)

如果三角形总是相同的颜色,您可以预处理图像以仅显示该颜色,然后使用您已编写的代码来查找这些三角形。

此链接可以帮助您入门:

http://opencv-python-tutroals.readthedocs.org/en/latest/py_tutorials/py_imgproc/py_colorspaces/py_colorspaces.html

希望这有帮助