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.299∗src(I).R+0.587∗src(I).G+0.114∗src(I).B

注意:

函数的文字 ID 是 "org.opencv.imgproc.colorconvert.rgb2gray"

函数原型

cpp 复制代码
GMat cv::gapi::RGB2Gray 	
(
 	const GMat &  	src
) 	

参数

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

代码示例

cpp 复制代码
#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;
}

运行结果

相关推荐
AI机器学习算法31 分钟前
深度学习模型演进:6个里程碑式CNN架构
人工智能·深度学习·cnn·大模型·ai学习路线
Ztopcloud极拓云视角42 分钟前
从 OpenRouter 数据看中美 AI 调用量反转:统计口径、模型路由与多云应对方案
人工智能·阿里云·大模型·token·中美ai
AI医影跨模态组学1 小时前
如何将深度学习MTSR与膀胱癌ITGB8/TGF-β/WNT机制建立关联,并进一步解释其与患者预后及肿瘤侵袭、免疫抑制的生物学联系
人工智能·深度学习·论文·医学影像
搬砖的前端1 小时前
AI编辑器开源主模型搭配本地模型辅助对标GPT5.2/GPT5.4/Claude4.6(前端开发专属)
人工智能·开源·claude·mcp·trae·qwen3.6·ops4.6
Python私教2 小时前
Hermes Agent 安全加固与生态扩展:2026-04-23 更新解析
人工智能
饼干哥哥2 小时前
Kimi K2.6 干成了Claude Design国产版,一句话生成电影级的动态品牌网站
人工智能
肖有米XTKF86462 小时前
带货者精品优选模式系统的平台解析
人工智能·信息可视化·团队开发·csdn开发云
天天进步20152 小时前
打破沙盒限制:OpenWork 如何通过权限模型实现安全的系统级调用?
人工智能·安全
xcbrand2 小时前
政府事业机构品牌策划公司找哪家
大数据·人工智能·python
骥龙2 小时前
第十篇:合规与未来展望——构建AI智能体安全标准
人工智能·安全