中关村在线

软件

OpenCV掩膜操作详解

绪:

1、 先看示例

2、 提取图像中指定区域

3、 代码如下

4、 {

5、 定义感兴趣区域:左上角坐标(172, 60),宽74,高214。

6、 将掩膜r1设置为全白(值255),生成二值图像。

7、 }

8、 结果如下所示:

9、 解释:

10、 程序中这两行代码用于处理掩码(mask)。

11、 将掩膜图像中指定感兴趣区域r1内的像素值全部设为255。

12、 首先创建一幅与原图尺寸相同的掩膜图像,所有像素初始值设为0,即全黑图像。

13、 接着,将掩膜图像中r1区域的所有像素值设为255。

14、 所示

15、 将原图像复制到img2中。

16、 掩膜用于限定图像中仅特定区域的像素可被复制操作处理。

17、 结果见下图

18、 掩膜的本质是图像遮罩

19、 原图与掩膜进行按位与运算,生成结果图像。

20、 图与掩膜的逻辑与操作是什么?

21、 即图像各像素与其对应掩膜像素逐个进行逻辑与运算。

22、 例如:1与1得1,1与0得0。

23、 例如,一张3×3的图像与一个3×3的卷积核进行卷积运算。

24、 如下所示

25、 掩码的作用

26、 通过掩码位图控制像素级拷贝权限,决定各像素是否参与复制操作。

27、 若掩膜像素值非零,则复制该像素;否则跳过。

28、 我们之前获得的掩膜中,目标区域呈现为白色。

29、 感兴趣区域的像素值均非零,其余区域为纯黑色(像素值为0)。将原图与掩膜图像进行逐像素逻辑与运算后,仅保留原图中对应于掩膜非零区域的内容,其余部分被完全屏蔽。

30、 所示。

31、 总结:

32、 掩膜用于指定图像中哪些像素可以复制,哪些像素禁止复制。

33、 若掩膜像素值非零,则允许操作;否则禁止操作。

34、 掩膜运算是将图像每个像素与对应掩膜像素执行按位与操作的过程。

展开全文
人赞过该文 赞
内容纠错

相关电商优惠

评论

更多评论
还没有人评论~ 快来抢沙发吧~

读过此文的还读过

点击加载更多

内容相关产品

说点什么吧~ 0

发评论,赚金豆

收藏 0 分享
首页查报价问答论坛下载手机笔记本游戏硬件数码影音家用电器办公打印 更多

更多频道

频道导航
辅助工具