常用的图像算法-灰度化算法

灰度化算法

将彩色图像转换为灰度图像,常用的加权平均法公式为: Gray = 0.299 * R + 0.587 * G + 0.114 * B 。

cpp

#include <iostream>

#include <opencv2/opencv.hpp>

using namespace std;

using namespace cv;

void grayscaleImage(Mat& image) {

int rows = image.rows;

int cols = image.cols;

for (int i = 0; i < rows; ++i) {

for (int j = 0; j < cols; ++j) {

Vec3b& pixel = image.at<Vec3b>(i, j);

int grayValue = 0.299 * pixel[2] + 0.587 * pixel[1] + 0.114 * pixel[0];

pixel[0] = pixel[1] = pixel[2] = grayValue;

}

}

}

调用这个函数:

cpp

int main() {

Mat image = imread("test.jpg");

if (image.empty()) {

cout << "无法读取图像" << endl;

return -1;

}

grayscaleImage(image);

imwrite("grayscale.jpg", image);

return 0;

}

相关推荐
王的宝库几秒前
【Ansible】变量与敏感数据管理:Vault 加密 + Facts 采集详解
笔记·学习·ansible
中屹指纹浏览器4 分钟前
2026浏览器指纹隔离技术深度对比与大规模集群部署性能优化实践
经验分享·笔记
进击的荆棘5 分钟前
C++起始之路——用哈希表封装myunordered_set和myunordered_map
开发语言·c++·stl·哈希算法·散列表·unordered_map·unordered_set
星幻元宇VR1 小时前
VR机动车模拟驾驶系统助力交通安全科普
科技·学习·安全·生活·vr
进击的荆棘2 小时前
C++起始之路——哈希表的实现
数据结构·c++·散列表·哈希
U盘失踪了2 小时前
Playwright with sync_playwright() as p 上下文管理器
笔记
FakeOccupational6 小时前
【数学 密码学】量子通信:光的偏振&极化的量子不确定性特性 + 量子密钥分发 BB84算法步骤
算法·密码学
ZhengEnCi8 小时前
S10-蓝桥杯 17822 乐乐的积木塔
算法
贾斯汀玛尔斯8 小时前
每天学一个算法--拓扑排序(Topological Sort)
算法·深度优先
t***5448 小时前
如何配置Orwell Dev-C++使用Clang
开发语言·c++