[英]Can't write image to Android file system in JNI with cv::imwrite
[英]unable to save Mat image with cv::imwrite in a JNI native code openCv
我的本機代碼有問題,因為在我的C ++代碼中,我無法保存從JAVA部件收到的圖像。
我嘗試使用cv::imwrite
但是圖像從未保存在路徑和相應的文件夾中。
我的JNI代碼如下:
extern "C"{
JNIEXPORT jintArray JNICALL Java_com_example_testNativeCode_DisplayImage_FindFeatures(JNIEnv* env, jclass obj, jintArray bufImg, jint w, jint h){
jint *cbuf;
cbuf = env->GetIntArrayElements(bufImg, 0);
if(cbuf==NULL){
return 0;
}
cv::Mat mImg(h,w,CV_8UC4, (unsigned char*)cbuf);
cv::imwrite("../SaveImage/img.png", mImg);
}
}
我使用android studio 2.3.3和OpenCv 3.1.0。 我輸入清單:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
我想知道是否可以用cv::imwrite
記錄圖像? 我還能怎么做保存它?
我遇到了同樣的問題,但是我可以通過以下步驟解決:
1.請求權限
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
2.手動打開權限開關
3.關閉應用程序並清除任務
4.打開您的項目應用程序,然后重試,它對我有用。
如果它不適合您,請卸載並重新安裝應用程序,然后重復上述步驟
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.