c++ - 用opencv python填充轮廓

标签 c++ python image 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()

enter image description here

关于c++ - 用opencv python填充轮廓,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19222343/

相关文章:

python - 提取搜索词周围的词

javascript - 短时间后更改回图像源

c++ - 在可移植应用程序中包含外星人,C++

python - PyOpenGl 验证失败

C++ 变量模板。这是UB?

Python、paramiko 和转发代理 ssh

java - 如何按需加载javafx.scene.image.Image?

image - 如何使用卷积找到图像的相同部分

c++ - 定义一个结构体中没有默认构造函数的类

c++ - 在括号内的 lambda 中声明名称为 `this` 的变量会在 3 个不同的编译器上产生不同的结果