Android 保存 JNI 层 opencv cvMat 图片
- 必须在 APP 层申请读写权限。
- 然后引入如下代码即可保存
cv::Mat
图片。
cv::imwrite 会分析图片格式
{
// write to SD
char p_str[128] = "/storage/emulated/0/DCIM/test_cv_mat/";
if (0 == access(p_str, 0)) {
printf("[ %s ] live !", p_str);
} else {
if (0 == mkdir(p_str, 777)) {
printf("[ %s ] mkdir success !", p_str);
} else {
printf("[ %s ] mkdir error !", p_str);
}
}
const int len = strlen(p_str);
sprintf(p_str + len, "cv_mat_%lf_ms_%dx%d.jpg", cv::getTickCount()*1000./cv::getTickFrequency(), matBGR_crop.cols, matBGR_crop.rows);
cv::imwrite(p_str, matBGR_crop);
}