gpt4 book ai didi

android - 在带有 opencv 的 Android 中,转换 BitmapToMat 是转换 mat 图像或任何其他转换 Mat 图像的可能性的有效方法?

转载 作者:行者123 更新时间:2023-11-28 02:21:33 27 4
gpt4 key购买 nike

我正在使用 opencv android 转换 BitmapToMat 图像。当我将 Mat 图像从 android 传递到 native 代码 (c++) 时,图像 channel 发生了变化。我们直接传递Mat图像而不进行转换(bitmaptomat),图像 channel 保持不变。

还有其他有效的方法可以将图像从 android 传递到 native c++。有没有可能使用 OpenGL ES..谢谢

最佳答案

您可以通过直接将 Bitmap 的字节传递给 C++ 来实现此目的:在 java 中: 声明你的本地方法

public native void bmpToJNI(byte[] myArray);

Bitmap bmp;
ByteArrayOutputStream stream = new ByteArrayOutputStream();
bmp.compress(Bitmap.CompressFormat.PNG, 100, stream);
byte[] byteArray = stream.toByteArray();

在C++文件中,方法的声明:

JNIEXPORT void JNICALL Java_your_package_your_activity_bmpToJNI( JNIEnv* env,jobject thiz, jbyteArrayarray) {...}

然而,你能准确地改变 channel 的方式吗?

关于android - 在带有 opencv 的 Android 中,转换 BitmapToMat 是转换 mat 图像或任何其他转换 Mat 图像的可能性的有效方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32273692/

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