gpt4 book ai didi

python OpenCv IMREAD_UNCHANGED 只返回三个 channel

转载 作者:太空宇宙 更新时间:2023-11-03 22:42:07 25 4
gpt4 key购买 nike

大家好,我想弄清楚我的代码有什么问题

我想加载我的图像包含 alpha channel

官网的描述是这样的:

cv.IMREAD_UNCHANGED: If set, return the loaded image as is (with alpha channel, otherwise it gets cropped).

这是我的尝试:

import cv2 as cv 

img2 = cv.imread( 'lbj.jpg' , cv.IMREAD_UNCHANGED)

img2.shape

结果显示:(350, 590, 3)

不应该是 (350,590,4) 吗?

谢谢!

最佳答案

只有三个 channel 的原因是图像是 jpg 格式,没有 alpha channel 。如果你要加载例如一个 png 格式的图像,它有一个 alpha channel

img2 = cv.imread( 'lbj.png' , cv.IMREAD_UNCHANGED)

with 'lbj.png' 将加载包含 alpha channel 的图像,然后

img2.shape

将显示 (350, 590, 4)

如果您将 jpg 转换为 png 那么此时您仍然只有三个 channel ,因为图像只有 BGR channel ,它们在原始 jpg 中。但是,此时您可以添加一个 alpha channel 使其成为 BGRA,然后继续使用透明度选项。

python-opencv-add-alpha-channel-to-rgb-image 中回答了添加 alpha channel

关于python OpenCv IMREAD_UNCHANGED 只返回三个 channel ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52270275/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com