【问题标题】:How to Convert to ARGB format如何转换为 ARGB 格式
【发布时间】:2013-08-14 19:05:01
【问题描述】:

我正在尝试将 RGB 图像转换为 ARGB 格式。在openCV中有什么办法吗?据我所知,可以将图像转换为 RGBA,但不确定 ARGB。

这是我目前正在做的:

        cv::Mat argb(myImage.rows, myImage.cols, CV_8UC4);
        cv::Mat alpha(myImage.rows, myImage.cols, CV_8UC1);
        cv::Mat in[] = { myImage, alpha };
        int from_to[] = { 0,1,  1,2,  2,3,  3,0 };
        cv::mixChannels( in, 2, &argb, 1, from_to, 4 );

myImage 是 8uc3 格式,这是我的输入图像。但我需要将格式更改为 ARGB 以供其他应用程序使用。

【问题讨论】:

  • 您通过什么尝试找到自己的答案?请描述一下。这不仅可以帮助我们回答问题,还可以帮助您自己回答。
  • 您能解释一下您认为 ARGB 和 RGBA 之间的区别吗?你真正想解决什么问题?
  • 我编辑了我的问题来回答您的问题。我需要 Alpha 通道在左侧,因为我有另一个应用程序忽略 Alpha 通道并处理图像(因此图像应该是 ARGB 格式)

标签: c++ opencv rgb argb


【解决方案1】:

据我所知 cvtColor 函数不提供这样的转换,所以你需要自己编写 - 查看 cvtColor 函数的源代码,你的转换将与CV_BGR2RGB 非常相似 - 你只需要切换第一个和最后一个频道。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-21
    • 2020-08-22
    • 1970-01-01
    • 1970-01-01
    • 2012-09-16
    相关资源
    最近更新 更多