2016-07-05 8 views
3

私はOpenCVの初心者です - AndroidでOpenCV310を使用しています。OpenCV3.0 - Imgcodecs.imreadが空のファイルを返します

私がImgcodecs.imreadをファイルに書き出すと、私はいつも空のMatを取得します。 誰かが私を助けてくれますか?

コードは次のとおりです。

File root = Environment.getExternalStorageDirectory(); 
File file = new File(root, "1.jpg"); 
Log.e(getString(R.string.app_name), "File exists: " + file.exists()); 
Log.e(getString(R.string.app_name), "Trying to read: " + file.getAbsolutePath()); 
Mat BGRMat = Imgcodecs.imread(file.getAbsolutePath(),Imgcodecs.CV_LOAD_IMAGE_COLOR); 
if(BGRMat.empty()) 
{ 
     Log.e(getString(R.string.app_name), "Failed, Empty! Details: " + BGRMat); 
} 
else 
{ 
     Log.e(getString(R.string.app_name), "Success! Details: " + BGRMat); 
} 

私が手ログは次のとおりです。


7月5日20:53:26.941 28555から28555/com.sunshine.spotdetector E/SpotDetector:ファイルが存在する:true
07-05 20:53:26.941 28555-28555/com.sunshine.spotdetector E/SpotDetector:読み込み中: /storage/emulated/0/1.jpg
07-05 20:53: 26.941 28555-28555 /com.sunshine.spotdetector E/SpotDetector:失敗しました、空です! 詳細:マット[0 * 0 * CV_8UC1、isCont = falseを、isSubmat =偽、 nativeObj = 0x7f97b2a660、DATAADDR = 0x0の]事前に

ありがとう!

答えて

0

私自身の質問に答えさせてください。それは愚かな間違いだった: android.permission.READ_EXTERNAL_STORAGE、 を返すことを忘れていたので、それは0のサイズを返すようだったMat

関連する問題