2015-08-28 66 views
0

我將使用OpenCV的機器人BitmapToMat圖像。雖然我從Android將原始圖像傳遞給原生代碼(C++),但圖像通道變得更改了。 直接我們傳遞Mat圖像而不轉換(bitmaptomat),圖像通道保持不變。在Android中使用OpenCV的,轉換BitmapToMat是轉換墊圖像或任何其他的可能性轉換墊圖像有效的方法?

有沒有從Android到本地C++通過圖像任何其它的有效方式。 是否有使用OpenGL ES的任何可能性.. 謝謝

回答

2

你可以通過對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) {...} 

然而,你可以精確的渠道改變的方式嗎?

+0

謝謝您的支持... – VijayRagavan

+0

在客戶端服務器通信的字節數組是通過有效的方式。請證明...... – VijayRagavan