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

灰度化算法

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

}

相关推荐
{Hello World}几秒前
MySQL学习之用户管理
数据库·学习·mysql
Tadecanlan几秒前
[C++面试] 你了解transform吗?
开发语言·c++
Y1nhl1 分钟前
搜广推校招面经五十八
人工智能·深度学习·算法·机器学习·求职招聘·推荐算法·搜索算法
f狐0狸x6 分钟前
【蓝桥杯每日一题】3.25
开发语言·数据结构·c++·算法·蓝桥杯
菜鸟记录9 分钟前
一个简单的用C#实现的分布式雪花ID算法
算法·c#·雪花id
哦豁灬16 分钟前
CUDA 学习(3)——CUDA 初步实践
学习·cuda
敲上瘾26 分钟前
定长内存池原理及实现
c++·缓存·aigc·池化技术
扫地的小何尚32 分钟前
NVIDIA TensorRT 深度学习推理加速引擎详解
c++·人工智能·深度学习·gpu·nvidia·cuda
lil_侯昊34 分钟前
LeetCode热题100_最长连续序列
java·算法·leetcode
不加冰的红茶要热的40 分钟前
【机器学习】什么是支持向量机?
算法·机器学习·支持向量机