PNG格式的图像比JPG图像多一个Alpha通道

今天在进行深度学习训练的过程中,我使用

img = cv.imread(img_path, cv.IMREAD_UNCHANGED)

来读取图片进行相关的模型训练工作,但是在运行的过程中总是会遇到如下错误:

ValueError: operands could not be broadcast together with shapes (512,512,4) (3,) (512,512,4) 

可以看出错误的原因就是我的图片通道数是4,一开始我比较疑惑,我们图片明明是RGB的3通道图像,但是为什么总是显示是4通道呢?

最后经过搜索发现:PNG格式的图像是比JPG格式的图像多了一个Alpha通道,而我们上面的图片的读取过程中,使用了cv.IMREAD_UNCHANGED,即指定了读取的时候包含Alpha通道,所以才会出现上面的错误,随后我将cv.IMREAD_UNCHANGED删除,即

img = cv.imread(img_path)

即可解决上述问题。

相关推荐
游客52025 分钟前
opencv中的常用的100个API
图像处理·人工智能·python·opencv·计算机视觉
我感觉。4 小时前
【图像处理lec8】彩色图像处理
图像处理·彩色图像处理
gloomyfish1 天前
【开发实战】QT5+ 工业相机 + OpenCV工作流集成演示
图像处理·深度学习·qt·opencv·计算机视觉
是娜个二叉树!1 天前
图像处理基础 | 查看两张图像的亮度差异,Y通道相减
图像处理·opencv·计算机视觉
研一计算机小白一枚1 天前
图像处理中的图像配准方法
图像处理·人工智能·计算机视觉
游客5201 天前
opencv中的各种滤波器简介
图像处理·人工智能·python·opencv·计算机视觉
handsomestWei1 天前
ISP图像处理简介
图像处理
黑色叉腰丶大魔王1 天前
基于 MATLAB 的图像增强技术分享
图像处理·人工智能·计算机视觉
禁默2 天前
2024年图像处理、多媒体技术与机器学习
图像处理·人工智能·microsoft
发呆小天才O.oᯅ2 天前
YOLOv8目标检测——详细记录使用OpenCV的DNN模块进行推理部署C++实现
c++·图像处理·人工智能·opencv·yolo·目标检测·dnn