Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >模仿Photoshop的图层蒙版

模仿Photoshop的图层蒙版
EN

Stack Overflow用户
提问于 2019-07-17 07:14:26
回答 1查看 158关注 0票数 1

我正在尝试使用蒙版去除图像的背景,其中像素的alpha值与黑色强度成比例。例如,给定以下输入图像和蒙版,结果将包含“淡入淡出”区域:

结果:

注意淡入淡出的区域。基本上我是在模仿Photoshop中的图层蒙版功能。

我可以使用二进制阈值将遮罩转换为alpha,但我想知道如何使alpha成比例。二进制阈值的代码如下:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
    mask = cv2.imread(mask_path, 0)
    mask2 = np.where(mask<50, 0, 1).astype('uint8')

    img = img * mask2[:, :, np.newaxis]

    _, alpha = cv2.threshold(mask2, 0, 255, cv2.THRESH_BINARY)

    png = np.dstack((img, alpha))
    cv2.imwrite(dest_path, png)

我认为这可能是无关紧要的,因为层掩码可能不需要阈值。

EN

回答 1

Stack Overflow用户

发布于 2019-07-17 13:10:09

我不确定这是否是你想要的,但你可以通过从图像中减去蒙版的值来获得比例效果。这意味着你必须反转蒙版,所以你想要移除的alpha的数量是白色的。对于subtract(),输入数组需要具有相同的大小,因此将反转的蒙版转换为3个颜色通道。如果蒙版的大小不等于背景图像,则必须首先创建子图像。

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
import cv2 
import numpy as np

# load background image
img = cv2.imread('grass.jpg')
# load alpha mask as grayscale
mask = cv2.imread('a_mask.jpg',0)
# invert mask and convert to 3 color channels
mask = cv2.bitwise_not(mask)
fullmask = cv2.cvtColor(mask,cv2.COLOR_GRAY2BGR)

# create a subimage with the size of the mask
xOffset = 30
yOffset = 30
height, width = mask.shape[:2]
subimg = img[yOffset:yOffset+height,xOffset:xOffset+width]

#subtract mask values from subimage
res = cv2.subtract(subimg,fullmask)

# put subimage back in background
img[yOffset:yOffset+height,xOffset:xOffset+width] = res

#display result
cv2.imshow('Result',img)
cv2.waitKey(0)
cv2.destroyAllWindows()
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57070430

复制
相关文章

相似问题

如何在photoshop中将多个图层蒙版链接到多个图层

12

Photoshop JS脚本,用于创建和应用图层蒙版

39

为什么在Photoshop网页设计模板中通常使用矢量蒙版和图层蒙版?

21

UIView图层蒙版动画

15

Unity空白图层蒙版

160
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文