(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)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
24天前
【QT】读写.ini配置文件的程序实现
【QT】读写.ini配置文件的程序实现
|
3月前
|
openCL 开发工具 C语言
OpenCV 图像处理学习手册:6~7
OpenCV 图像处理学习手册:6~7
77 0
|
3月前
|
存储 编解码 算法
OpenCV 图像处理学习手册:1~5
OpenCV 图像处理学习手册:1~5
31 0
|
2月前
|
人工智能 Linux API
OpenCV这么简单为啥不学——1.1、图像处理(灰度图、模糊图片、GaussianBlur函数、提取边缘、边缘膨胀、边缘细化)
OpenCV这么简单为啥不学——1.1、图像处理(灰度图、模糊图片、GaussianBlur函数、提取边缘、边缘膨胀、边缘细化)
46 0
|
3月前
|
C++
QT第一个程序命名空间详解,解释ui_widget的和xxx.cpp的联系
QT第一个程序命名空间详解,解释ui_widget的和xxx.cpp的联系
34 0
|
3月前
|
编译器
QT creator开发环境下 界面更改后运行程序不能实时更新或者在源文件添加该控件后无法编译的问题
在使用QT Creator开发界面的过程中,偶尔会出现添加控件后,运行程序后,界面控件无法更新的情况,或者在源文件使用该控件却出现无法编译的情况,使用QT Creator 4.8.2也会出现这个情况,也不知道这种情况会不会在以后有所改善。
66 0
|
9天前
|
数据可视化
实现Hello Qt 程序
实现Hello Qt 程序
|
1月前
|
数据可视化
【Qt】—— Hello World程序的实现
【Qt】—— Hello World程序的实现
|
2月前
|
存储 C++ 开发者
QT基础【4-简易的图片查看程序】
QT基础【4-简易的图片查看程序】
|
2月前
|
IDE 开发工具
QT案例IDE编写 -- 新建和保存文件及退出程序
QT案例IDE编写 -- 新建和保存文件及退出程序
23 0

热门文章

最新文章

推荐镜像

更多