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

yipeiwu_com6年前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实现朴素贝叶斯算法

本代码实现了朴素贝叶斯分类器(假设了条件独立的版本),常用于垃圾邮件分类,进行了拉普拉斯平滑。 关于朴素贝叶斯算法原理可以参考博客中原理部分的博文。 #!/usr/bin/pytho...

python中metaclass原理与用法详解

本文实例讲述了python中metaclass原理与用法。分享给大家供大家参考,具体如下: 什么是 metaclass. metaclass (元类)就是用来创建类的类。在前面一篇文章《...

python找出因数与质因数的方法

最近有一个学弟问我一些求解质因数的问题,帮他解决问题的同时自己也试着写了几个差不多效果的脚本,有很多不同的思路,以下是相关脚本。 n = int(input("input numbe...

解决Pycharm 包已经下载,但是运行代码提示找不到模块的问题

解决Pycharm 包已经下载,但是运行代码提示找不到模块的问题

问题产生: pycharm→settings→Project interpreter→下载matplotlib包 运行代码,出现以下提示:找不到‘matplotlib'模块ModuleN...

python实现12306抢票及自动邮件发送提醒付款功能

python实现12306抢票及自动邮件发送提醒付款功能

#写在前面,这个程序我已经弄出来了,但是因为黄牛泛滥以及懒人太多,整个程序的代码就不贴出来了,这里纯粹就是技术交流。 只做技术交流、、、、、 嗯,程序结束后,自己还是得手动付款。 废...