我正在尝试制作一个透明图像并在其上绘制,然后我将在基础图像上添加加权。
如何在 openCV python 中初始化具有宽度和高度的完全透明图像?
编辑:我想像在 Photoshop 中一样制作效果,具有堆叠的图层,所有堆叠的图层最初都是透明的,并且在完全透明的图层上执行绘图。最后我将合并所有图层以获得最终图像
原文由 Michael Presečan 发布,翻译遵循 CC BY-SA 4.0 许可协议
我正在尝试制作一个透明图像并在其上绘制,然后我将在基础图像上添加加权。
如何在 openCV python 中初始化具有宽度和高度的完全透明图像?
编辑:我想像在 Photoshop 中一样制作效果,具有堆叠的图层,所有堆叠的图层最初都是透明的,并且在完全透明的图层上执行绘图。最后我将合并所有图层以获得最终图像
原文由 Michael Presečan 发布,翻译遵循 CC BY-SA 4.0 许可协议
要创建透明图像,您需要一个 4 通道矩阵,其中 3 个代表 RGB 颜色,第 4 个通道代表 Alpha 通道,要创建透明图像,您可以忽略 RGB 值并直接将 Alpha 通道设置为 0
。在 Python 中,OpenCV 使用 numpy
来操作矩阵,因此透明图像可以创建为
import numpy as np
import cv2
img_height, img_width = 300, 300
n_channels = 4
transparent_img = np.zeros((img_height, img_width, n_channels), dtype=np.uint8)
# Save the image for visualization
cv2.imwrite("./transparent_img.png", transparent_img)
原文由 ZdaR 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5.1k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答988 阅读✓ 已解决
3 回答1.1k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
1 回答1.2k 阅读✓ 已解决
如果你想在几个“图层”上绘图,然后将绘图堆叠在一起,那么如何: