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使用PIL和matplotlib获取图片像素点并合并解析

python使用PIL和matplotlib获取图片像素点并合并解析

python 版本 3.x 首先安装 PIL 由于PIL仅支持到Python 2.7,加上年久失修,于是一群志愿者在PIL的基础上创建了兼容的版本,名字叫Pillow,支持最新Pytho...

Django网络框架之HelloDjango项目创建教程

Django网络框架之HelloDjango项目创建教程

本文实例讲述了Django网络框架之HelloDjango项目。分享给大家供大家参考,具体如下: 这里将带你从零开始创建一个Django项目,包含完整的MTV架构、创建子应用,及访问静态...

Python编程产生非均匀随机数的几种方法代码分享

Python编程产生非均匀随机数的几种方法代码分享

1.反变换法 设需产生分布函数为F(x)的连续随机数X。若已有[0,1]区间均匀分布随机数R,则产生X的反变换公式为: F(x)=r, 即x=F-1(r) 反函数存在条件:如果函数y=f...

编写Python的web框架中的Model的教程

有了ORM,我们就可以把Web App需要的3个表用Model表示出来: import time, uuid from transwarp.db import next_id fr...

Python 多线程Threading初学教程

Python 多线程Threading初学教程

1.1 什么是多线程 Threading 多线程可简单理解为同时执行多个任务。 多进程和多线程都可以执行多个任务,线程是进程的一部分。线程的特点是线程之间可以共享内存和变量,资源消耗少(...