【发布时间】:2015-11-24 15:51:49
【问题描述】:
我目前无法在 Android 中保存位图。我正在开发一个检测人眼区域的系统。我有这段代码可以将 ROI 保存到 opencv 中的 Mat 中。
Rect eyearea_right = new Rect( RectOfFace.x + RectOfFace.width / 16 ,
(int) (RectOfFace.y + (RectOfFace.height / 4.5)) ,
(RectOfFace.width - 2 * RectOfFace.width / 16) / 2,
(int) (RectOfFace.height / 3.0)
);
ROI = new Mat(mGray, eyearea_left);
Bitmap bm = Bitmap.createBitmap((int) ROI.size().width, (int) ROI.size().height, Bitmap.Config.ARGB_8888);
但是,我无法将其保存到手机的存储空间。我需要查看图像或位图,以便知道如何处理图像以检测人是否正在闭上眼睛。另外,有没有办法在屏幕上打印/显示从 OpenCV 中的 Mat 派生的位图?谢谢。
这是我在网上找到的保存代码
String root = Environment.getExternalStorageDirectory().toString();
File myDir = new File(root + "/saved_images");
Log.i("Bitmap", root);
myDir.mkdirs();
int n = i;
String path = Environment.getExternalStorageDirectory().toString();
OutputStream fOut = null;
File file = new File(path, "/saved_images/" + "image" + i + ".jpg");
fOut = new FileOutputStream(file);
bm.compress(Bitmap.CompressFormat.JPEG, 85, fOut);
fOut.flush();
fOut.close();
MediaStore.Images.Media.insertImage(getContentResolver()
, file.getAbsolutePath(), file.getName(), file.getName());
【问题讨论】:
-
你保存的困难是什么。
-
我从网上复制了一个代码块。它将位图保存为 jpg 文件。但是,它只保存黑色图像。我已经编辑了上面的描述并添加了保存图像的代码。
标签: android image-processing opencv4android