C++ opencv RGB三通道提升亮度

#include <iostream>

#include <iomanip>

#include<opencv2//opencv.hpp>

using namespace std;

using namespace cv;

//函数adjustBrightness用于图片增加亮度

void adjustBrightness(cv::Mat& image, int targetBrightness) {

// 获取图像的通道数

int channels = image.channels();

// 计算调整亮度的因子

float factor = 1.0f;

if (targetBrightness > 0) {

factor = static_cast<float>(targetBrightness) / 255.0f;

}

else if (targetBrightness < 0) {

factor = 255.0f / static_cast<float>(255 - std::abs(targetBrightness));

}

// 遍历图像的每个像素

for (int i = 0; i < image.rows; ++i) {

for (int j = 0; j < image.cols; ++j) {

// 获取像素值

cv::Vec3b& pixel = image.at<cv::Vec3b>(i, j);

// 调整亮度

for (int c = 0; c < channels; ++c) {

if (targetBrightness > 0) {

pixel[c] = cv::saturate_cast<uchar>(pixel[c] * factor);

}

else if (targetBrightness < 0) {

pixel[c] = cv::saturate_cast<uchar>((pixel[c] - 255) * factor + 255);

}

}

}

}

}

void saveimage(std::string file, std::string savefile, int targetBrightness = 400) {

cv::Mat img = imread(file);

adjustBrightness(img, targetBrightness);

imwrite(savefile, img);

}

int main() {

saveimage("C:/Users/lenovo/Desktop/aa/T026_26.jpg",

"C:/Users/lenovo/Desktop/aa/aa.jpg", 800);

}

相关推荐
以为你知道啊5 分钟前
从源代码自动生成 OpenAPI 3.1.0 规范文件 + Redoc 可视化文档的技能
人工智能
LaughingZhu5 分钟前
Product Hunt 每日热榜 | 2026-03-26
人工智能·经验分享·深度学习·神经网络·产品运营
彩旗工作室6 分钟前
腾讯云上调用大模型的全部入口整理(2026最新版)
人工智能·大模型·云计算·腾讯云
科技观察7 分钟前
《观澜社张庆与中信证券合作,共筑金融新生态》
大数据·人工智能·金融
实在智能RPA9 分钟前
实在 Agent 支持本地化部署吗?深度解析企业级私有化 AI 智能助理的技术架构与落地实践
人工智能·ai·架构
金融RPA机器人丨实在智能9 分钟前
2026产业跃迁:基于大模型的自主智能体产品如何重塑企业生产力?实在Agent商业实战全解析
人工智能·ai
shangjian0079 分钟前
AI-大语言模型LLM-LangGraphV1.0学习笔记-context_schema和config_schema
人工智能
AI航向标10 分钟前
GPT-SoVITS v2ProPlus开源部署流程全跑通
人工智能·语音识别
EriccoShaanxi13 分钟前
高精度石英加速度计助力航空航天精准测量
人工智能·机器人
程序媛小鱼13 分钟前
InstructGPT:通过人类反馈训练语言模型以遵循指令(RLHF完整指南,小白也可轻松掌握)
人工智能·语言模型·自然语言处理