使用Qt将图片转换为灰度图

本文介绍了如何使用Qt将图片转换为灰度图,重点讲述了通过加权平均法计算灰度值的原理,即 Gray = R*0.3 + G*0.59 + B*0.11。并提供了测试代码,展示如何遍历图片像素进行转换,同时提到了使用QImage::Format_Grayscale8直接转换的简便方法。最后,作者鼓励读者访问其个人博客查看可能的更新和更多内容。
摘要由CSDN通过智能技术生成

 

原文链接:

https://www.fearlazy.com/index.php/post/283.html

 

灰度图没有彩色,它的RGB色彩分量全相等,如(100,100,100)和(200,200,200),值越大越亮。

要将图片转换为灰度图只需要根据各像素的RGB值计算出对应的灰度值即可。那么问题来了灰度值该怎么计算呢?

方法有好几种,有取直接取G的值的,也有取RGB平均值的,更为常用的是加权平均法,也就是R、G、B的权重不一样:

Gray = R*0.3 + G*0.59 + B*0.11

 

测试一下:

1.准备一种图片:

2. 测试代码:

代码很容易理解,循环获取图片的每一个像素的颜色值,再根据公式计算出灰度值,然后将灰色设置到对应的图片对象的相同位置上,最后保存图片即可。

QImage::pixelColor用于获取像素颜色,返回值是QColor对象。 QImage::setPixelColor用于设置像素颜色,参数是位置(x,y)和QColor对象。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

fearlazy

打赏是不可能的

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值