gpt4 book ai didi

android - 如何将 ARGB Android 图像格式更改为 RGB 图像格式以在 opencv 中使用?

转载 作者:行者123 更新时间:2023-12-02 16:30:07 34 4
gpt4 key购买 nike

我在android中有一个ARGB格式的位图

 Bitmap bitmapRGB=Bitmap.createBitmap(capturedImageMat.cols(),capturedImageMat.rows(),Bitmap.Config.ARGB_8888);

我将此图像发送到 Android NDK 部分,以使用 C++ 中的 Opencv libaray 处理图像。现在我想将 ARGB 格式更改为 RGB 格式,然后将其更改为 BGR,因为 Opencv 使用 BGR 格式。起初我想在 opencv 中使用 cvtColor 方法进行更改,但没有 ARGB2RGB 转换。我还尝试查看 opencv 团队如何更改 github 中的 BGRA2BGR并基于此编写代码来更改 ARGB2RGB 但无法在 opencv 源代码中找到该函数。

最佳答案

感谢 Alexander我使用 mixChannels 交换了图像 channel opencv中的方法。当我们使用bitmapToMat方法时,将android的ARGB图像格式转换为opencv mat中的RGBA图像格式。我用来将 RGBA 图像格式分成两个不同图像的代码,即 RGB 和 A

cv::Mat inputImage = *(cv::Mat *) inputImageAddress_;
cv::Mat inputImageBGR(inputImage.rows, inputImage.cols,CV_8UC3);
cv::Mat inputImageALPHA(inputImage.rows, inputImage.cols,CV_8UC1);
int from_to[]={0,2, 1,1, 2,0, 3,3};
Mat out[]={inputImageBGR,inputImageALPHA};
cv::mixChannels(&inputImage,1,out,2,from_to,4);

关于android - 如何将 ARGB Android 图像格式更改为 RGB 图像格式以在 opencv 中使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44501079/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com