首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在python中读取灰度图像显示的是3个彩色通道,而不是一个

在python中读取灰度图像显示的是3个彩色通道,而不是一个
EN

Stack Overflow用户
提问于 2022-07-04 09:43:40
回答 1查看 191关注 0票数 -3

我正在从包含灰度.png图像的数据集中读取python中的图像。

img_1.png已经是一个灰度图像。

代码语言:javascript
复制
img=cv2.imread('img_1.png')
print(img.shape)

在读取图像时,img.shape显示了3个通道。

代码语言:javascript
复制
(16, 16, 3)

然而,它是一个灰度图像,所以它应该只有宽度和高度。

代码语言:javascript
复制
(16, 16)

我在MATLAB中也读过同样的灰度图像,它只显示宽度和高度。

但是在python中读取rgb图像并将其转换为灰度并不显示3个通道。为甚麽会这样?

代码语言:javascript
复制
gray_img=cv2.imread('rgb_1.png',cv2.IMREAD_GRAYSCALE)
print(gray_img.shape)

产出:

代码语言:javascript
复制
(1050, 1400)

在python中读取灰度图像和转换为灰度的图像的输出是否相同?有什么关系?

我想看那些灰度图像而不显示频道。

EN

回答 1

Stack Overflow用户

发布于 2022-07-04 11:02:46

cv.imread总是将所有内容转换为BGR,除非您告诉它不要这样做。使用cv.IMREAD_UNCHANGED标志进行此操作。

将维度数错误为颜色维度的大小。

(h,w)是二维的,它等价于(h,w,1),其中颜色维数为1.

(h,w,3)是三维的(元组的长度为3),而最后一个位置的3表示颜色维度的长度为3(用于三种颜色)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72854714

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档