像这种图像,如何识别完整轮廓并在内容填充颜色(注意轮廓是不连续的)
网上找的代码但是完全不明白,而且他把图像的外边缘也识别了,如何去掉
import cv2
img = cv2.imread(r'aaa/1/1.png')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
ret, binary = cv2.threshold(gray, 127, 255, cv2.THRESH_BINARY)
contours, hierarchy = cv2.findContours(binary, cv2.RETR_TREE, cv2.CHAIN_APPROX_SIMPLE)
cv2.drawContours(img, contours, -1, (0, 255, 0), 1)
cv2.imshow("img", img)
cv2.waitKey(0)
1个回答
你再读取一个同样大小的空白图片,然后提取空白图片的轮框。你再用上图的轮框减掉空白图片的轮廓,就可以得到你要的了吧
SofaSofa数据科学社区DS面试题库 DS面经
那也仅仅是去掉最外围轮廓,但是怎么实现把轮廓虚线变实线连接,连接了填充就没问题了
-
塔利班
2019-06-02 20:28