填充輪廓我與創建折線二進制圖像:與OpenCV的蟒蛇
cv2.polylines(binaryImage,contours,1, (255,255,255))
我現在需要的是填補所有折線有效的方法。我還沒有在opencv中找到這樣的方法,但也許它存在。或者,也許我可以實現算法來完成這項工作(但速度快 - 我有高清圖片)。請分享你的想法..
填充輪廓我與創建折線二進制圖像:與OpenCV的蟒蛇
cv2.polylines(binaryImage,contours,1, (255,255,255))
我現在需要的是填補所有折線有效的方法。我還沒有在opencv中找到這樣的方法,但也許它存在。或者,也許我可以實現算法來完成這項工作(但速度快 - 我有高清圖片)。請分享你的想法..
我認爲你要找的是cv2.fillPoly
,它填充了由一個或多個多邊形包圍的區域。這是一個簡單的片段,我生成一個代表正方形頂點的四個點的輪廓,然後用白色填充多邊形。
import numpy as np
import cv2
contours = np.array([ [50,50], [50,150], [150, 150], [150,50] ])
img = np.zeros((200,200)) # create a single channel 200x200 pixel black image
cv2.fillPoly(img, pts =[contours], color=(255,255,255))
cv2.imshow(" ", img)
cv2.waitKey()
可以使用drawContours
所述標誌設置爲FILLED
:
(代碼是Java)
Imgproc.drawContours(mat, contours, contourID, COLOR, Core.FILLED);
您得到所需輪廓和的ID你想要它充滿的顏色。
在使用「cv2.drawContours」功能時,發送厚度= cv2.FILLED並完成。