如何使用python检查多边形内像素的颜色,并删除包含白色像素的多边形?

如何使用python检查多边形内像素的颜色,并删除包含白色像素的多边形?,python,opencv,image-processing,Python,Opencv,Image Processing,我要说的是 polyg = np.array([[[247,358],[247,361],[260,361],[268,362],[288,363],[303,365],[314,365],[315,364],[247,358]]],np.int32) 我想确定这个多边形内像素的颜色,如果它有5个以上的白色像素,那么应该从图像中删除这个多边形 有人能帮我吗。谢谢 在Python/OpenCV中有一种方法可以实现这一点但是,我不确定“删除”多边形是什么意思。在下面,我将多边形区域设置为黑色

我要说的是

polyg = np.array([[[247,358],[247,361],[260,361],[268,362],[288,363],[303,365],[314,365],[315,364],[247,358]]],np.int32) 
我想确定这个多边形内像素的颜色,如果它有5个以上的白色像素,那么应该从图像中删除这个多边形


有人能帮我吗。谢谢

在Python/OpenCV中有一种方法可以实现这一点但是,我不确定“删除”多边形是什么意思。在下面,我将多边形区域设置为黑色

  • 读取输入
  • 将其转换为灰色
  • 定义多边形顶点
  • 为多边形创建遮罩
  • 从遮罩为255的灰色图像中获取像素颜色
  • 数一数白色的数目
  • 如果计数大于5,则将输入图像中的多边形区域设置为黑色;否则就别管它了
  • 保存结果
输入:


输入显示红色多边形(仅为正方形):

遮罩:

报告的计数:

count = 36

多边形变黑的结果图像:


在Python/OpenCV中,有一种方法可以实现这一点但是,我不确定“删除”多边形是什么意思。在下面,我将多边形区域设置为黑色

  • 读取输入
  • 将其转换为灰色
  • 定义多边形顶点
  • 为多边形创建遮罩
  • 从遮罩为255的灰色图像中获取像素颜色
  • 数一数白色的数目
  • 如果计数大于5,则将输入图像中的多边形区域设置为黑色;否则就别管它了
  • 保存结果
输入:


输入显示红色多边形(仅为正方形):

遮罩:

报告的计数:

count = 36

多边形变黑的结果图像: