(GO_GTD_3)基于OpenCV和QT,建立Android图像处理程序

简介: 一、解决权限问题     图片采集了,处理了,如何保存?最直接的方法是使用imwrite,但是如果现在直接使用的话,比如会出现这样或那样的错误,因为我们现在是在android的环境下进行图像处理,所以必须要融入到Android的权限管理系统中去。
+关注继续查看
一、解决权限问题
    图片采集了,处理了,如何保存?最直接的方法是使用imwrite,但是如果现在直接使用的话,比如会出现这样或那样的错误,因为我们现在是在android的环境下进行图像处理,所以必须要融入到Android的权限管理系统中去。
   在新版本的QT中,这一步是这样做的:项目->详情
   img_96d98eb6ced3f4bdc47bd13fc299d69d.png

createtemp


img_8540c2575ede34a77bc0ae0e6a86d0fb.png
然后就可以修改了
img_25c8641f53ab6f42649487ae5fd9e5af.png
修改logo,添加权限
img_4ad7bf70320ba0331e1b67b94b9d9d90.png
这个时候已经可以使用imwrite了,此外我添加了一些东西
//保存处理结果数据
void MainWindow::on_btn_save_pressed()
{
if(b_canSave)
{
//获得当前时间
QDateTime current_date_time =QDateTime::currentDateTime();
QString current_date =current_date_time.toString("yyyy_MM_dd");
try
{
if(isDirExist("/storage/emulated/0/GO_GTD"))
{
cv::imwrite("/storage/emulated/0/GO_GTD/"+current_date.toStdString()+".jpg",matResult);
ui->lb_info->setText(strFetchImage+"result保存成功!");
}
else
{
ui->lb_info->setText("目录创建失败!");
}
}
catch(Exception e)
{
ui->lb_info->setText(strFetchImage+"保存失败,请查找原因!");
}


}
else
{
ui->lb_info->setText("未处理图像无法保存,请先进行处理操作!");
}
}
其中有一个创建新文件夹的函数


/*判断文件夹是否存在,不存在则创建*/
bool isDirExist(QString fullPath)
{
QDir dir(fullPath);
if(dir.exists())
{
return true;
}
else
{
bool ok = dir.mkpath(fullPath);//创建多级目录
return ok;
}
}

二、使用过程中发现的突出问题
到目前为止,GO_GTD已经可以使用了,作为一个我自己研究和使用的工具,我确实是每天都在使用。到了这一步,主要是以下问题:
1、图像的采集,目前采用的是图片采集的方式,这个方式最大的问题就是不知道你采集的图片是否是可用的。下一步需要修改成类似二维码的采集模式,也就是视频直接处理的模式。这个首先从做特征点开始;
2、图像结果的存储使用,目前保存到文件夹中,那么如果想要使用,想要在app上面直接看到结果,还有很多qml方面需要研究的东西。
感谢阅读至此希望有所帮助!




目前方向:图像拼接融合、图像识别 联系方式:jsxyhelu@foxmail.com
相关实践学习
部署高可用架构
本场景主要介绍如何使用云服务器ECS、负载均衡SLB、云数据库RDS和数据传输服务产品来部署多可用区高可用架构。
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
1月前
|
存储 Android开发 开发者
#2,Android新建第一个程序 Hello Android 模拟手机
#2,Android新建第一个程序 Hello Android 模拟手机
|
1月前
|
Android开发
Android JetPack组件之ViewModel状态的保存(程序在后台被系统杀死数据也存活)
Android JetPack组件之ViewModel状态的保存(程序在后台被系统杀死数据也存活)
31 0
|
2月前
|
开发工具 Android开发
Android上机实验-1 开发第一个Android程序
Android上机实验-1 开发第一个Android程序
33 0
|
2月前
|
数据采集 编解码 Ubuntu
Android流媒体开发之路二:NDK C++开发Android端RTMP直播推流程序
Android流媒体开发之路二:NDK C++开发Android端RTMP直播推流程序
58 0
|
8月前
|
Android开发
可编译运行的安卓USB/OTG摄像头程序
可编译运行的安卓USB/OTG摄像头程序
101 0
|
8月前
|
Android开发
Android studio开发APP时设置更改启动时的主界面程序
Android studio开发APP时设置更改启动时的主界面程序
1035 0
Android studio开发APP时设置更改启动时的主界面程序
|
8月前
|
XML Java Android开发
Android Studio开发APP启动程序时开屏简单动画效果快速有效解决方案
Android Studio开发APP启动程序时开屏简单动画效果快速有效解决方案
1026 0
Android Studio开发APP启动程序时开屏简单动画效果快速有效解决方案
|
8月前
|
Android开发
Android studio中ADB不幸运终止app程序解决方案
Android studio中ADB不幸运终止app程序解决方案
149 0
Android studio中ADB不幸运终止app程序解决方案
|
8月前
|
安全 Java Maven
Android程序签名打包
Android APP都需要我们用一个证书对应用进行数字签名,不然的话是无法安装到Android手机上的,平时我们调试运行时到手机上时,是AS会自动用默认的密钥和证书来进行签名;但是我们实际发布编译时,则不会自动签名,这个时候我们就需要进行手动签名了!
62 0
|
计算机视觉 Python 前端开发
独家|利用OpenCV,Python和Ubidots来构建行人计数器程序(附代码&解析)
本文将利用OpenCV,Python和Ubidots来编写一个行人计数器程序,并对代码进行了较为详细的讲解
4120 0
相关产品
机器翻译
推荐文章
更多