Opencv或者Image实现单通道(灰度图)转换为RGB三通道图像展示并保存(原理+代码)

一、原理介绍

该转换过程实际上就是将单通道图像复制3次,分别作为RGB三个通道,从而创建一个看似彩色但实际上每个颜色通道都相同的图像

二、代码如下

Opencv实现:

import cv2


# 读取单通道图像(灰度图)
img_gray = cv2.imread('img.png', cv2.IMREAD_GRAYSCALE)

# 检查图像是否成功加载
if img_gray is None:
    print("Error loading image")
    exit()

# 使用OpenCV转换图像到RGB
img_rgb = cv2.cvtColor(img_gray, cv2.COLOR_GRAY2RGB)

# 显示原图(灰度图)
cv2.imshow('Original Gray Image', img_gray)

# 显示转换后的RGB图像
cv2.imshow('Converted to RGB', img_rgb)

# 保存转换后的RGB图像
output_file = 'imageRGB.png'
cv2.imwrite(output_file, img_rgb)

print(f"Image saved as {output_file}")

# 等待按键后关闭所有窗口
cv2.waitKey(0)
cv2.destroyAllWindows()

Image代码实现:

from PIL import Image

# 打开图像(默认模式下PIL会自动检测图像模式,如果是灰度图则为'L'模式)
img_gray = Image.open('your_image.png')

# 转换为RGB图像
# 注意:对于灰度图,直接使用.convert()转为"RGB"模式并不会增加色彩信息,每个像素的R=G=B=灰度值
img_rgb = img_gray.convert('RGB')

# 显示图像
img_rgb.show(title='Converted to RGB')

# 保存转换后的图像
output_file = 'converted_image.png'
img_rgb.save(output_file)

print(f"Image saved as {output_file}")

  • 5
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值