图像掩模(image mask):用选定的图像、图形或物体,对待处理的图像(局部或全部)进行遮挡来控制图像处理的区域或处理过程。由于覆盖的特定图像或物体称为掩模(mask),在做图像处理的时候,对图像进行遮罩的需求非常多,接下来就以下面这张猫狗的图片进行演示,我选择的是小猫的头像。
首先看效果图:
Python实现对图像进行掩膜遮罩处理
- 导入所需的库
- 创建掩膜图像
-
- 方形掩膜
- 圆形掩膜
- 掩膜与原始图像进行拼接
- 展示图像
- 效果展示
- 总结
导入所需的库
此次需要的库资源有cv2
和numpy
,可通过pip install xxx
进行下载。
import cv2 import numpy as np复制代码
创建掩膜图像
创建掩膜具体需要看图像的尺寸,根据图像的尺寸所需创建自己的掩膜,当然掩膜的想也可以自己选择。我这里创建的掩膜有方形掩膜和圆形掩膜。
方形掩膜
掩膜坐标为[10:170, 50:220]。
# 创建掩膜 mask = np.zeros([img.shape[0], img.shape[1]], dtype=np.uint8) mask[10:170, 50:220] = 255复制代码
圆形掩膜
掩膜坐标:
x = 140
y = 100
r = 80
# 创建掩膜 x = 140 y = 100 r = 80 mask = np.zeros(img.shape[:2], dtype=np.uint8) mask = cv2.circle(mask, (x, y), r, (255, 255, 255), -1)复制代码
掩膜与原始图像进行拼接
图片合并用到了 cv2.add,将掩膜与原始图像进行拼接合并。
image = cv2.add(img, np.zeros(np.shape(img), dtype=np.uint8), mask=mask)复制代码
展示图像
# 展示原图 cv2.imshow("img", img) # 展示掩膜图片 cv2.imshow("mask", mask) # 展示添加掩膜效果图片 cv2.imshow("image", image)复制代码
效果展示
原始图像:
方形掩膜图像:
方形掩膜与原图合并图像:
圆形掩膜图像:
圆形掩膜与原图合并图像:
总结
遮挡掩膜的原理很简单,首先创建一个和图片同样大小的全黑图像,再把需要显示的区域像素改成白色,最后使用cv2.add叠加image和mask就可以实现图像的遮挡显示。
详细讲解 Python实现对图像进行掩膜遮罩处理
—–文章转载自PHP中文网如有侵权请联系admin#tyuanma.cn删除
利用html实现一个三级菜单
转载请注明来源:详细讲解 Python实现对图像进行掩膜遮罩处理_编程技术_编程开发技术教程
本文永久链接地址:https://www.ymkuzhan.com/884.html
本文永久链接地址:https://www.ymkuzhan.com/884.html
下载声明:
本站资源如无特殊说明默认解压密码为www.ymkuzhan.com建议使用WinRAR解压; 本站资源来源于用户分享、互换、购买以及网络收集等渠道,本站不提供任何技术服务及有偿服务,资源仅提供给大家学习研究请勿作它用。 赞助本站仅为维持服务器日常运行并非购买程序及源码费用因此不提供任何技术支持,如果你喜欢该程序,请购买正版! 版权声明:
下载本站资源学习研究的默认同意本站【版权声明】若本站提供的资源侵犯到你的权益,请提交版权证明文件至邮箱ymkuzhan#126.com(将#替换为@)站长将会在三个工作日内为您删除。 免责声明:
您好,本站所有资源(包括但不限于:源码、素材、工具、字体、图像、模板等)均为用户分享、互换、购买以及网络收集而来,并未取得原始权利人授权,因此禁止一切商用行为,仅可用于个人研究学习使用。请务必于下载后24小时内彻底删除,一切因下载人使用所引起的法律相关责任,包括但不限于:侵权,索赔,法律责任,刑事责任等相关责任,全部由下载人/使用人,全部承担。以上说明,一经发布视为您已全部阅读,理解、同意以上内容,如对以上内容持有异议,请勿下载,谢谢配合!支持正版,人人有责,如不慎对您的合法权益构成侵犯,请联系我们对相应内容进行删除,谢谢!