python使用opencv对图像mask处理的方法

yipeiwu_com7年前Python基础

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内的关键点。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

python简单实现计算过期时间的方法

本文实例讲述了python简单实现计算过期时间的方法。分享给大家供大家参考。具体如下: def time_passed(value): now = datetime.now()...

pandas删除指定行详解

pandas删除指定行详解

在处理pandas的DataFrame中,如果想像excel那样筛选,只要其中的某一行或者几行,可以使用isin()方法来实现,只需要将需要的行值以列表方式传入即可,还可传入字典,进行指...

python中reader的next用法

python中有个csv包(build-in),该包有个reader,按行读取csv文件中的数据 reader.next()作用:打印csv文件中的第一行标题header (python...

python实现将内容分行输出

#python版一行内容分行输出   a="aA1一bB2二cC3三dD4四eE5五fF6六gG7七hH8八iI9九" """ 分行输出为: abcdefghi ABCD...

python对绑定事件的鼠标、按键的判断实例

当多个事件绑定了同一个命令,那么在命令内部根据不同的事件进行处理的时候,怎么确定哪个事件发生了呢,用下面的来检测,经过测试处理tab键和alt键不能识别,其他单个都能被识别。 还有个事件...