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

灰度化算法

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

}

相关推荐
炽烈小老头几秒前
【每天学习一点算法 2025/12/18】对称二叉树
学习·算法
蒙奇D索大5 分钟前
【数据结构】考研408 | 开放定址法精讲:连续探测的艺术与代价
数据结构·笔记·考研·改行学it
子夜江寒5 分钟前
pandas基础操作
学习·pandas
User_芊芊君子6 分钟前
【LeetCode经典题解】:二叉树转字符串递归解法的核心逻辑与代码解剖
算法·leetcode·职场和发展
EveryPossible8 分钟前
宽度撑开容器
学习
程序员zgh9 分钟前
C++常用设计模式
c语言·数据结构·c++·设计模式
橘颂TA11 分钟前
【剑斩OFFER】算法的暴力美学——计算右侧小于当前元素的个数
算法·leetcode·排序算法·职业发展
深蓝海拓13 分钟前
PySide6从0开始学习的笔记(八) 控件(Widget)之QSlider(滑动条)
笔记·python·qt·学习·pyqt
鹿角片ljp13 分钟前
力扣110.平衡二叉树-递归
数据结构·算法·leetcode
TL滕14 分钟前
从0开始学算法——第十九天(并查集练习)
笔记·学习·算法