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

灰度化算法

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

}

相关推荐
mit6.8242 分钟前
01bfs|前缀和的前缀和
算法
wen__xvn3 分钟前
代码随想录算法训练营DAY11第五章 栈与队列part02
算法
saoys18 分钟前
Opencv 学习笔记:绘制动态随机直线(附实时展示)
笔记·opencv·学习
春日见21 分钟前
控制算法:PP(纯跟踪)算法
linux·人工智能·驱动开发·算法·机器学习
njsgcs22 分钟前
找门强化学习 笔记 ppo+yolo
笔记
智者知已应修善业25 分钟前
【编写函数求表达式的值】2024-4-3
c语言·c++·经验分享·笔记·算法
田里的水稻32 分钟前
C++_python_相互之间的包含调用方法
c++·chrome·python
Yeats_Liao34 分钟前
MindSpore开发之路(二十六):系列总结与学习路径展望
人工智能·深度学习·学习·机器学习
sinat_2869451937 分钟前
opencode
人工智能·算法·chatgpt