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

灰度化算法

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

}

相关推荐
肥猪猪爸2 小时前
BP神经网络对时序数据进行分类
人工智能·深度学习·神经网络·算法·机器学习·分类·时序数据
baynk3 小时前
逆向入门(9)汇编篇-bound指令的学习
汇编·学习
dongzhenmao3 小时前
P1484 种树,特殊情形下的 WQS 二分转化。
数据结构·c++·windows·线性代数·算法·数学建模·动态规划
EutoCool4 小时前
Qt:布局管理器Layout
开发语言·c++·windows·嵌入式硬件·qt·前端框架
茫忙然5 小时前
【WEB】Polar靶场 Day7 详细笔记
笔记
悠哉清闲5 小时前
C++ MediaCodec H264解码
开发语言·c++
thusloop6 小时前
380. O(1) 时间插入、删除和获取随机元素
数据结构·算法·leetcode
MobotStone6 小时前
无代码+AI时代,为什么你仍然需要像个开发者一样思考
人工智能·算法
緈福的街口6 小时前
【leetcode】584. 寻找用户推荐人
算法·leetcode·职场和发展
future14127 小时前
游戏开发日记
数据结构·学习·c#