• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

关于python:灰度图单通道图RGB图三通道图的区别与转化

python 搞代码 3年前 (2022-02-20) 158次浏览 已收录 0个评论

一、灰度图(单通道图、黑白图)

单通道图就是指维度数为2,或者第三维为1的的图,也称 灰度图,能够了解为 黑白图

图像的每个 像素点 只能有 一个值 示意色彩,像素值范畴是 [0~255] 。以下两个图都是灰度图,只是灰度的等级不同,第一个图中每个像素点的值要么为0要么为255;第二张图每个像素点的值就是一个 [0~255] 区间。

二、黑白图(RGB图、三通道图)

黑白图每个 像素点 都有 3个值 示意色彩,所以称 3通道。例如 RGB图片 有三个通道,它就是黑白图。

如果某个地位上三个通道的值都雷同,图片也会是黑红色的,看起来和灰度图一样,但它实质上区别于灰度图。

个别就叫做一般的三通道图。也就是说:三通道图能够是灰度图,但单通道图只能是灰度图。

例如上面的第一张图是黑白图,第二张图品就是一般的三通道图。

三、判断图片是灰度图还是三通道黑白色彩的图

右击图片 属性,开展 详细信息,外面有 位深度 ,如下图:

如果是 三通道图,位深度是 24
如果是 单通道图(灰度图),位深度是 8

四、单通道图与三通道图互相转化

【单通道图】 转化为 【一般三通道图】

第一种办法:stacked_img = np.stack((gray_img,)*3, axis=-1)
第二种办法:img = cv2.cvtColor(img , cv2.COLOR_GRAY2RGB)

【单通道图】 转化为 【RGB图】

opencv、PIL都不反对,须要应用上色算法

【黑白图、三通道图】 转化为 【单通道图】

第一种办法(读取时就转化):img = cv2.imread('test.jpg', 0)  # 参数0等价于:cv2.IMREAD_GRAYSCALE。  如果不加0,会默认读取为三通道图像,即便原图像是灰度图。
第二种办法(读取后再转化):img = cv2.cvtColor(img , cv2.COLOR_RGB2GRAY)

PIL的办法(读取时就转化):  img = Image.open('test.jpg').convert('L')   # 参数为"1"时示意转化为二值化图(位深度为1,每个像素点的值为0或1)


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:关于python:灰度图单通道图RGB图三通道图的区别与转化

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址