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

灰度化算法

将彩色图像转换为灰度图像,常用的加权平均法公式为: 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 * pixel2 + 0.587 * pixel1 + 0.114 * pixel0;

pixel0 = pixel1 = pixel2 = grayValue;

}

}

}

调用这个函数:

cpp

int main() {

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

if (image.empty()) {

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

return -1;

}

grayscaleImage(image);

imwrite("grayscale.jpg", image);

return 0;

}

相关推荐
悠仁さん4 分钟前
【C++】set map 使用
java·前端·c++
CCIE-Yasuo10 分钟前
网络安全-学习web开发-基础概念、常用标签
前端·学习
艾莉丝努力练剑16 分钟前
【AI大模型接入SDK】ChatServer问题修复
c++·学习·ai·大模型·sdk
La Pulga30 分钟前
【FreeRTOS源码学习笔记】任务创建
笔记·stm32·mcu·学习·嵌入式·freertos·实时操作系统
Zhao-Jichao35 分钟前
AI Prompting for Everyone 课程笔记 - P06 模型提示词对比 AI Model Prompt Comparison
人工智能·笔记·prompt
Answer1st38 分钟前
【FPGA学习】IP核(五)
学习
扶尔魔ocy1 小时前
【QT C++】常用设计模式
c++·设计模式
computersciencer1 小时前
贝叶斯入门:由全概率公式引出贝叶斯公式
笔记·数学建模·概率论
晚风予卿云月1 小时前
【C++高并发内存池】 2.ThreadCache设计
开发语言·c++·高并发内存池·tcmalloc
叼烟扛炮1 小时前
Linux 学习笔记(四十七):TCP 状态机与 tcpdump 抓包排雷实战
linux·网络·笔记·学习·tcp/ip·tcpdump