python使用opencv对图像mask处理的方法
作者:Lucky-ing
这篇文章主要介绍了python使用opencv对图像mask处理的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
MASK图像掩膜处理
在图像操作中有时候会用到掩膜处理,如果使用遍历法掩膜图像ROI区域对于python来讲是很慢的,所以我们要找到一种比较好的算法来实现掩膜处理。
假设我们有一副图像:
而我们关心的区域就在这一小堆线上,想把这一堆线提取出来,我们先通过numpy生成一个mask图像:
sss=np.zeros([480,640],dtype=np.uint8) sss[300:350,310:400]=255
生成一个640*480大小的一个图片,填充为0,然后在300:350,310:400区域全部填充为255,这个区域就是我们的ROI区域。如下图所示:
图中的高亮区域就是我们需要的ROI。接下来我们使用
image=cv2.add(img0, np.zeros(np.shape(img0), dtype=np.uint8), mask=sss)
就可以生成新的掩膜处理之后的图片了。其中,imag0是我们上面的那副线的源图,sss是我们的刚才生成的mask。结果如下图所示:
这样我们就可以生成新的带有掩膜效果的图像了,这种方法可以用来统计ROI内的关键点。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。