OpenCV灰度化之后图片为绿色

博客讲述了在使用OpenCV处理图像时遇到的问题,即从BGR格式转换为灰度图后,图像显示为绿色。作者尝试了将图片转化为RGB格式然后再转为灰度图,但问题依然存在。通过查阅资料了解到,直接使用plt.imshow显示图像时,它默认以三通道显示。解决方法是在imshow函数中添加参数'gray',确保图像以灰度模式显示。
摘要由CSDN通过智能技术生成

首先需要读图片,查看图片

import cv2
img_opencv = cv2.imread('C:/Users/20752/Desktop/GraduationProject/DogFace/DogFace/OpenSourceCrop_align/0/0.0.png')#  BGR
plt.figure()
plt.imshow(img_opencv)
plt.show()

在这里插入图片描述
图片与平时看到的不太一样,因为是BGR个格式,平时看到的是RGB格式。

之后转化为灰度图

gray_img = cv2.cvtColor(img_opencv, cv2.COLOR_BGR2GRAY)##彩色图像转为灰度图像
plt.figure()
plt.imshow(gray_img)
plt.show()

可是图片为绿色
在这里插入图片描述
一开始我以为是因为没有转化成RGB格式的原因,于是把图片由BGR格式转化为RGB格式发现还是一样
转化为RGB:

img_opencv = cv2.cvtColor(img_opencv, cv2.COLOR_BGR2RGB)

在这里插入图片描述
再转化为灰度图:
在这里插入图片描述
在这里插入图片描述
后来参考链接:
https://blog.csdn.net/qq_30967115/article/details/85053415?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromBaidu-3.control
“直接使用plt显示图像,它默认使用三通道显示图像。
解决方案:在plt.imshow()添加参数”
修改后:
在这里插入图片描述
在这里插入图片描述
即设置imshow函数的第二个参数camp为"gray"
在这里插入图片描述

评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值