Mã này được sử dụng để hoạt động nhưng trên Android 4.2 và OpenCV 2.4.4 không thành công, nhưng tôi không biết tại sao. Có ai có thể làm sáng tỏ nó cho tôi không?Android: OpenCV: imwrite luôn trả về false và không viết
Cảm ơn bạn đã được trợ giúp.
Baz
public void SaveImage (Mat mat) {
Mat mIntermediateMat = new Mat();
Imgproc.cvtColor(mRgba, mIntermediateMat, Imgproc.COLOR_RGBA2BGR, 3);
File path = Environment.getExternalStoragePublicDirectory(Environment.DIRECTORY_PICTURES);
String filename = "barry.png";
File file = new File(path, filename);
Boolean bool = null;
filename = file.toString();
bool = Highgui.imwrite(filename, mIntermediateMat);
if (bool == true)
Log.d(TAG, "SUCCESS writing image to external storage");
else
Log.d(TAG, "Fail writing image to external storage");
}
bool trở lại sai mỗi lần. Đường dẫn/tên tệp phải là ("storage/emulated/0/Pictures/barry.png") cho User # 0 và thư mục Pictures có đó.
Điều gì có thể khiến hiển thị trả về sai?
Tôi có thể chuyển đổi mat thành bmp và lưu nó (mà tôi làm ở nơi khác trong ứng dụng không phải OpenCV) nhưng kể từ Highgui.imwrite là ở đó, và mã này được sử dụng để làm việc khi tôi đang viết đến 2.4.0 và thử nghiệm trên Android 3.x, tôi muốn sử dụng nó nếu có thể.
Rất cám ơn
Baz
-JILL! -Barreeeeeh. https://www.youtube.com/watch?v=FLU77yQopL8 – Sipty