当前位置: 首页 > news >正文

OpenCV 图形API(53)颜色空间转换-----将 RGB 图像转换为灰度图像函数RGB2Gray()

  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

将图像从 RGB 色彩空间转换为灰度。
R、G 和 B 通道值的常规范围是 0 到 255。生成的灰度值计算方式如下:
dst ( I ) = 0.299 ∗ src ( I ) . R + 0.587 ∗ src ( I ) . G + 0.114 ∗ src ( I ) . B \texttt{dst} (I)= \texttt{0.299} * \texttt{src}(I).R + \texttt{0.587} * \texttt{src}(I).G + \texttt{0.114} * \texttt{src}(I).B dst(I)=0.299src(I).R+0.587src(I).G+0.114src(I).B
注意:
函数的文字 ID 是 “org.opencv.imgproc.colorconvert.rgb2gray”

函数原型

GMat cv::gapi::RGB2Gray 	
(const GMat &  	src
) 	

参数

  • 参数 src: 输入图像,8 位无符号三通道图像 CV_8UC3。

代码示例

#include <opencv2/opencv.hpp>
#include <opencv2/gapi.hpp>
#include <opencv2/gapi/core.hpp> // 包含核心功能
#include <opencv2/gapi/imgproc.hpp> // 包含图像处理功能int main() {// 读取一个RGB图像cv::Mat rgb_img = cv::imread("/media/dingxin/data/study/OpenCV/sources/images/Lenna.png");if (rgb_img.empty()) {std::cerr << "Error: Image not found!" << std::endl;return -1;}// 定义G-API图cv::GMat src;auto gray = cv::gapi::RGB2Gray(src);cv::GComputation comp(cv::GIn(src), cv::GOut(gray));// 创建输出矩阵cv::Mat out_gray;// 应用计算图并执行转换,指定使用默认的CPU后端comp.apply(cv::gin(rgb_img), cv::gout(out_gray),cv::compile_args(cv::gapi::kernels()));// 显示结果cv::imshow("Original RGB Image", rgb_img);cv::imshow("Converted Gray Image", out_gray);cv::waitKey(0);return 0;
}

运行结果

在这里插入图片描述

http://www.dtcms.com/a/150060.html

相关文章:

  • HTML与Web 性能优化:构建高速响应的现代网站
  • 从物理到预测:数据驱动的深度学习的结构化探索及AI推理
  • vscode如何多行同时编辑,vscode快速选中多行快捷键
  • 从YOLOv5到YOLOv11,改进有多大?
  • 阻塞队列的介绍和简单实现——多线程编程简单案例[多线程编程篇(4)]
  • 升级xcode16之后react-native-zip-archive不兼容,unsupported option ‘-G‘
  • 从性能到安全:大型网站系统架构演化的 13 个核心维度
  • NoSQL 简单讲解
  • Hooks的使用限制及原因
  • 基于大模型的胃食管反流病全周期预测与诊疗方案研究
  • 机器视觉检测的量子效率QE
  • 基于 Spring Boot 瑞吉外卖系统开发(六)
  • 【每日八股】复习 Redis Day2:Redis 的持久化(下)
  • 共建安全可控大模型AI底座,助力国产化升级——麒麟信安与新智惠想达成战略合作
  • STM32---串口通信USART
  • MySQL通用性能优化模板(MySQL General Performance Optimization Template)
  • Kafka简介
  • Maven 依赖坐标与BOM统一管理
  • ERR_SSL_KEY_USAGE_INCOMPATIBLE
  • Ubuntu18.04 升级最新版本Cmake
  • kaggle网站使用教程
  • 2025.04.23华为机考第三题-300分
  • JVM 生产环境问题定位与解决实战(七):实战篇——OSSClient泄漏引发的FullGC风暴
  • 网络原理————HTTP
  • ReAct Agent 实战:基于DeepSeek从0到1实现大模型Agent的探索模式
  • 【每天一个知识点】如何解决大模型幻觉(hallucination)问题?
  • Keras
  • Java与C语言核心差异:从指针到内存管理的全面剖析
  • 用 Firebase 和 WebRTC 快速搭建一款浏览器视频聊天应用
  • 线段树讲解(小进阶)