【OpenCV 】图像掩模

article/2025/10/1 2:46:10

图像掩模(image mask):用选定的图像、图形或物体,对待处理的图像(局部或全部)进行遮挡来控制图像处理的区域或处理过程。由于覆盖的特定图像或物体称为掩模或模板。

数字图像处理中,掩模为二维矩阵数组,有时也为多值图像。图像掩模主要用于:

1.提取感兴趣区,用预先制作的感兴趣区掩模与待处理图像相乘,得到感兴趣区图像,感兴趣区内图像值保持不变,而区外图像值都为0;

2.屏蔽作用,用掩模对图像上某些区域作屏蔽,使其不参加处理或不参加处理参数的计算,或仅对屏蔽区作处理或统计;

3.结构特征提取,用相似性变量或图像匹配方法,检测和提取图像中与掩模相似的结构特征;

4.特殊形状图像的制作

 

import numpy as np
import cv2image = cv2.imread("F:/pp.jpg") #读图
#cv2.imshow("Oringinal", image) #显示原图
print(image.shape[:2])#输入图像是RGB图像,故构造一个三维数组,四个二维数组是mask四个点的坐标,
site = np.array([[[500, 300], [250,300], [250, 5], [500, 5]]], dtype=np.int32)im = np.zeros(image.shape[:2], dtype="uint8") #生成image大小的全白图cv2.polylines(im, site, 1, 255) #在im上画site大小的线,1表示线段闭合,255表示线段颜色
cv2.fillPoly(im, site, 255) #在im的site区域,填充颜色为255mask = im
cv2.namedWindow('Mask', cv2.WINDOW_NORMAL) #可调整窗口大小,不加这句不可调整
cv2.imshow("Mask", mask)
masked = cv2.bitwise_and(image, image, mask=mask) #在模板mask上,将image和image做“与”操作
cv2.namedWindow('Mask to Image', cv2.WINDOW_NORMAL) #同上
cv2.imshow("Mask to Image", masked)
cv2.waitKey(0) #图像一直显示,键盘按任意键即可关闭窗口

注:

1.说明:在这种情况下,用cv2.namedWindow()函数可以指定窗口是否可以调整大小。在默认情况下,标志为cv2.WINDOW_AUTOSIZE。但是,如果指定标志为cv2.WINDOW_Normal,则可以调整窗口的大小。当图像尺寸太大,并在窗口中添加跟踪条时,这些操作可以让我们的工作更方便一点。

2.第一个二维数组坐标[500,300]是下图x4,第二个二维数组坐标[250,300]是下图x3,第三个二维数组坐标[250,5]是下图x1,第四个二维数组坐标[500,5]是下图x2。

二维数组中,第一个是横坐标,第二个是纵坐标,其中,x1_x = x3_x, x1_y = x2_y, x2_x = x4_x, x3_y = x4_y。

原图:

mask:

加mask之后:

 

参考:https://baike.baidu.com/item/%E5%9B%BE%E5%83%8F%E6%8E%A9%E6%A8%A1/4857425

https://blog.csdn.net/wuguangbin1230/article/details/80606155

https://blog.csdn.net/liuqipao55/article/details/80297933


http://chatgpt.dhexx.cn/article/9R3xmgYy.shtml

相关文章

【youcans 的 OpenCV 例程200篇】179.图像分割之 GrabCut 图割法(掩模图像)

【youcans 的 OpenCV 例程200篇】176.图像分割之均值漂移算法 【youcans 的 OpenCV 例程200篇】177.图像分割之 GraphCuts 图割法 【youcans 的 OpenCV 例程200篇】178.图像分割之 GrabCut 图割法(框选前景) 【youcans 的 OpenCV 例程200篇】179.图像分割…

OpenCV python 掩模处理学习笔记

OpenCV python 掩模处理 前言1.1 掩模是什么1.2 掩模的原理1.3 构造掩模图像总结 前言 接上篇OpenCV Python 直方图的使用。在opencv中使用掩模对图像进行处理是一个十分常用的方法。本篇是记录掩模操作的原理及使用。小白入门,如有不正确的地方希望大佬指正。 提示…

OpenCV基于Python图像掩模处理

图像掩模 目标1. 图像掩模的概念2. 图像掩模的作用3. 示例演示 目标 本篇文章主要介绍图像掩模的概念、作用、及其简单实现。 1. 图像掩模的概念 图像掩模(image mask)是用选定的图像、图形或物体,对待处理的图像(局部或全部&a…

CodedStereo:大尺度景深双目视觉的相位掩模学习(CVPR2021)

点击上方“3D视觉工坊”,选择“星标” 干货第一时间送达 来源丨泡泡机器人SLAM 作者丨泡泡机器人 标题:CodedStereo: Learned Phase Masks for LargeDepth-of-Field Stereo 作者:Shiyu Tan, Yicheng Wu, Shoou-I Yu, Ashok Veeraraghavan 机构…

OpenCV笔记整理【直方图和掩模】

1. 直方图: 直方图统计图像中各个灰度级出现的次数,横坐标为各个像素点的灰度级,纵坐标是具有该灰度级的像素个数。 上面这个九宫格我们可以想象成一张图像,里面的数字代表当前像素的灰度等级。 用图表显示:X轴代表…

数字图像处理 掩模

将logo叠加在图片上 将logo图片进行灰度化阈值处理得到掩模 (需要的部分是置非0 不需要的黑色的部分置0) 然后需要利用掩模对logo图像和人物图像分别进行处理 对logo图: 需要把黑色部分去掉-----与掩模进行与操作把黑色部分置0 Ps:黑色部分用add叠加时相当于没有…

OpenCV基本功 之 图像的掩模、运算 合并专题 -小啾带学【Python-Open_CV系列(七)】

OpenCV图像的掩模、运算 与 合并专题 【Python-Open_CV系列(七)】 文章目录 1.图像的掩模2.图像的运算2.1 图像的加法运算2.1.1 “”方法2.1.2 cv2.add()方法2.1.3 使用掩模遮盖相加结果 2.2 图像的位运算2.2.1 按位与 cv2.bitwise_and()2.2.2 按位或 c…

空间掩模matlab,浅谈基于SLM的非相干全息系统掩模设计及成像处理

宋冲 摘要:基于空间光调制器(Spatial Light Modulator,SLM)的菲涅尔非相干相关数字全息系统,无需对物体在空间或时间上进行扫描,可以快速获取真实三维物体的全息图,在荧光生物样品显微成像、彩色全息显示、以及自适应光学等领域展示了极大应用潜力。通过本项目的研究,为S…

matlab 掩模,用于图像中的与脸部有关的选择和处理的图像掩模制造技术

【技术实现步骤摘要】 【国外来华专利技术】【专利说明】用于图像中的与脸部有关的选择和处理的图像掩模相关串请的交叉引用本申请要求对通过完全引用而结合于此、提交于2013年5月14日的第13/894,384号美国专利申请的优先权。 技术介绍 数字相机的流行和便利以及因特…

图像掩模matlab,图像掩模_matlab_图像掩模

光学图像处理中,掩模可以足胶片、滤光片等。数字图像处理中,掩模为二维矩阵数组,有时也用多值图像。数字图像处理中,图像掩模主要用于:①提取感兴趣区,用预先制作的感兴 未来手机触摸屏要靠无掩模光刻技术_多点触摸 337x396 - 29KB - JPEG 5.4.3 选择式掩模平滑 - 51CTO.COM 53…

图像中的掩膜(Mask)是什么

项目github地址:bitcarmanlee easy-algorithm-interview-and-practice 欢迎大家star,留言,一起学习进步 在图像处理中,经常会碰到掩膜(Mask)这个词。那么这个词到底是什么意思呢?下面来简单解释一下。 1.什么是掩膜 …

第三章-OpenCV基础-4-掩模

基本概念 掩模,又称为掩膜,掩码,模板。图像掩模是指,用特定的图像/图形/物体遮挡代处理的图像(全部或局部),从而控制图像处理的区域,在数字图像处理中,掩模就是一个指定的数组,毕竟,图像也是数组。 左边图为原图,中间图为掩模(白色区域为透明区域,黑色区域为黑色遮挡区域),经过…

在微信小程序中如何引入iconfont

在微信小程序如何引用iconfont? 1.首先进入iconfont 选择自己喜欢的图标 iconfont-阿里巴巴矢量图标库 2.选择自己喜欢的图标加入购物车 3.将图标添加至项目(如果没有项目就随便新建一个项目) 4.打开个人主页 找到自己的项目,点…

微信小程序引入iconfont

第一种 在tabBar中使用 只能下载到本地,放在文件夹中使用 如下图: 第二种 在页面内使用iconfont图标 1:复制代码 2:粘贴到wxss文件里 3:在app.wxss中引入该文件 4:就可以在文件里面使用iconfont图…

微信小程序中使用tabBar

文章目录 前景知识小程序项目app.jsonpages/home/home.wxmlpages/camera/camera.wxmlpages/user/user.wxml 相关链接 前景知识 前面我们学习过:在app.json里对小程序进行全局配置,app.json的文件内容是一个JSON对象,包含很多属性&#xff0c…

微信小程序|icon列表跳转不同界面

效果&#xff1a; 包含图片、文字&#xff0c;分列布局&#xff0c;点击对应图标跳转到相应界面 WXML&#xff1a; <!-- 三个主要功能:文书服务&#xff0c;在线咨询&#xff0c;律师匹配跳转到对应页面&#xff0c;可以返回注意php后台和数据库搭建--><view class&…

微信小程序引入阿里巴巴icon步骤及报错解决

首先将选择好的图标加入购物车,点击右上角购物车图标&#xff0c;将其添加进项目中。(Add To Project) 添加进入项目后&#xff0c;会自动跳转到该项目&#xff0c;选择Download Code&#xff0c; 解压缩包&#xff0c;只会用到文件夹中的4个文件&#xff0c;将解压后的下面4个…

微信小程序引入iconfont图标

一、查看iconfont项目设置 二、生成在线链接 为什么要生成在线链接&#xff0c;因为微信小程序不能用静态文件 三、根据下载的iconfont.css配置app.wxss 下载的iconfont.css配置 自定义app.wxss配置 为什么不直接用iconfont.css&#xff0c;因为微信小程序不支持css只支持wxss…

《微信小程序-进阶篇》组件封装-Icon组件的实现(一)

大家好&#xff0c;这是小程序系列的第九篇文章&#xff0c;从这篇开始我们将进入提高篇&#xff0c;在这一个阶段&#xff0c;我们的目标是可以较为深入的了解组件化开发&#xff0c;并且实践积累一些后续项目也就是原神资料站中用得着的组件&#xff1a; 1.《微信小程序-基础…

uniapp与微信小程序引入iconfont

加入购物车&#xff0c;下载解压 引入 uniapp 微信小程序 使用 icon更新后更换线上url&#xff0c;就不用每次下载解压