当前位置: 首页 > Python编程 > Python编程实战技能 > Python编程学习教程 > 详细讲解 Python实现对图像进行掩膜遮罩处理

详细讲解 Python实现对图像进行掩膜遮罩处理

发布时间:2020年10月29日 21:18:54 来源:环球青藤 点击量:657

【摘要】相关学习推荐:python教程图像掩模(image mask):用选定的图像、图形或物体,对待处理的图像(局部或全部)进行遮挡来控制图像处理的区

相关学习推荐:python教程

图像掩模(image mask):用选定的图像、图形或物体,对待处理的图像(局部或全部)进行遮挡来控制图像处理的区域或处理过程。由于覆盖的特定图像或物体称为掩模(mask),在做图像处理的时候,对图像进行遮罩的需求非常多,接下来就以下面这张猫狗的图片进行演示,我选择的是小猫的头像。

首先看效果图:

Python实现对图像进行掩膜遮罩处理

导入所需的库

创建掩膜图像

方形掩膜

圆形掩膜

掩膜与原始图像进行拼接

展示图像

效果展示

总结

导入所需的库

此次需要的库资源有cv2numpy,可通过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 = 140y = 100r = 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就可以实现图像的遮挡显示。

想了解更多编程学习,敬请关注php培训栏目!

以上就是小编分享的关于详细讲解 Python实现对图像进行掩膜遮罩处理的详细内容希望对大家有所帮助,更多有关python教程请关注环球青藤其它相关文章!

分享到: 编辑:wangmin

就业培训申请领取
您的姓名
您的电话
意向课程
点击领取

环球青藤

官方QQ

扫描上方二维码或点击一键加群,免费领取大礼包,加群暗号:青藤。 一键加群

绑定手机号

应《中华人民共和国网络安全法》加强实名认证机制要求,同时为更加全面的体验产品服务,烦请您绑定手机号.

预约成功

本直播为付费学员的直播课节

请您购买课程后再预约

环球青藤移动课堂APP 直播、听课。职达未来!

安卓版

下载

iPhone版

下载
环球青藤官方微信服务平台

刷题看课 APP下载

免费直播 一键购课

代报名等人工服务

课程咨询 学员服务 公众号

扫描关注微信公众号

APP

扫描下载APP

返回顶部