Python OpenCV中ARGB,RGBA色彩空间的区别
我有很多关于RGBA和ARGB颜色模型的问题。
RGBA和ARGB色彩空间有什么区别? 这是关于阿尔法,红色,绿色和蓝色通道的安排吗?
在我的情况下,我想阅读带有jpg扩展名的图像。 我可以从图像中提取Alpha通道吗?
使用带有jpg扩展名的图像。 我将如何将图像转换为python中的RGBA颜色空间? 以下是我的初始代码:
frame = cv2.imread("image.jpg", -1)
print( frame[0,0])
上面的打印语句只显示RGB值。 我将如何包含Alpha通道?
RGBA和ARGB色彩空间有什么区别? 这是关于阿尔法,红色,绿色和蓝色通道的安排吗?
是的,这一切都是关于安排。
在我的情况下,我想阅读带有jpg扩展名的图像。 我可以从图像中提取Alpha通道吗?
JPG不支持透明度。 您需要像PNG这样的其他格式来存储Alpha通道。
使用带有jpg扩展名的图像。 我将如何将图像转换为python中的RGBA颜色空间?
您正在使用IMREAD_UNCHANGED
( -1
)加载图像,该图像“如果设置, IMREAD_UNCHANGED
返回加载的图像(带有alpha通道,否则会被裁剪)。”
如果你的图像有alpha通道(例如PNG),你就完成了。 否则,就像你的情况一样,将图像作为BGR(默认IMREAD_COLOR
)读取,然后转换为BGRA:
frame = cv2.imread("image.jpg")
bgra = cv.cvtColor(frame, cv.COLOR_BGR2BGRA)
您可以通过以下方式查看图片的频道数量:
height, width, channels = img.shape
BGRA的channels
必须为4。
上一篇: Difference between ARGB, RGBA Color Space in Python OpenCV