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

本文涉及的产品
传统型负载均衡 CLB,每月750个小时 15LCU
应用型负载均衡 ALB,每月750个小时 15LCU
网络型负载均衡 NLB,每月750个小时 15LCU
简介: 一、解决权限问题    图片采集了,处理了,如何保存?最直接的方法是使用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
相关实践学习
小试牛刀,一键部署电商商城
SAE 仅需一键,极速部署一个微服务电商商城,体验 Serverless 带给您的全托管体验,一起来部署吧!
负载均衡入门与产品使用指南
负载均衡(Server Load Balancer)是对多台云服务器进行流量分发的负载均衡服务,可以通过流量分发扩展应用系统对外的服务能力,通过消除单点故障提升应用系统的可用性。 本课程主要介绍负载均衡的相关技术以及阿里云负载均衡产品的使用方法。
目录
相关文章
|
9月前
|
算法 计算机视觉
基于qt的opencv实时图像处理框架FastCvLearn实战
本文介绍了一个基于Qt的OpenCV实时图像处理框架FastCvLearn,通过手撕代码的方式详细讲解了如何实现实时人脸马赛克等功能,并提供了结果展示和基础知识回顾。
407 7
基于qt的opencv实时图像处理框架FastCvLearn实战
|
9月前
|
文字识别 计算机视觉 开发者
基于QT的OCR和opencv融合框架FastOCRLearn实战
本文介绍了在Qt环境下结合OpenCV库构建OCR识别系统的实战方法,通过FastOCRLearn项目,读者可以学习Tesseract OCR的编译配置和在Windows平台下的实践步骤,文章提供了技术资源链接,帮助开发者理解并实现OCR技术。
496 9
基于QT的OCR和opencv融合框架FastOCRLearn实战
|
11月前
|
Linux iOS开发 开发者
Qt问题(二):无法定位程序输入点于动态链接库
动态链接库(Dynamic Link Library,简称DLL)是一种可执行文件格式,常见于Windows操作系统中,而在Linux和macOS等其他操作系统中,相似的概念通常被称为共享库(Shared Library)。动态链接库允许程序在运行时加载所需的代码和数据,而不是在编译时静态链接到应用程序中。这种方式带来了几个重要的优点:
763 3
|
9月前
|
C语言 Android开发 C++
基于MTuner软件进行qt的mingw编译程序的内存泄漏检测
本文介绍了使用MTuner软件进行Qt MinGW编译程序的内存泄漏检测的方法,提供了MTuner的下载链接和测试代码示例,并通过将Debug程序拖入MTuner来定位内存泄漏问题。
172 4
基于MTuner软件进行qt的mingw编译程序的内存泄漏检测
|
9月前
|
计算机视觉
基于QT的opencv插件框架qtCvFrameLearn实战
这篇文章详细介绍了如何基于Qt框架开发一个名为qtCvFrameLearn的OpenCV插件,包括项目配置、插件加载、Qt与OpenCV图像转换,以及通过各个插件学习OpenCV函数的使用,如仿射变换、卡通效果、腐蚀、旋转和锐化等。
170 10
|
9月前
|
机器学习/深度学习 Java 计算机视觉
opencv4.5.5+qt5.15.2+vtk9.1+mingw81_64编译记录
本文记录了使用mingw81_64编译OpenCV 4.5.5、Qt 5.15.2、VTK 9.1的详细过程,包括编译结果截图、编译步骤、遇到的问题及其解决方案,以及相关参考链接。文中还提到了如何编译boost源码为静态库,并提供了测试代码示例。
306 0
opencv4.5.5+qt5.15.2+vtk9.1+mingw81_64编译记录
|
10月前
|
计算机视觉
使用QT显示OpenCV读取的图片
使用QT显示OpenCV读取的图片
200 1
|
11月前
|
调度
【浅入浅出】Qt多线程机制解析:提升程序响应性与并发处理能力
在学习QT线程的时候我们首先要知道的是QT的主线程,也叫GUI线程,意如其名,也就是我们程序的最主要的一个线程,主要负责初始化界面并监听事件循环,并根据事件处理做出界面上的反馈。但是当我们只限于在一个主线程上书写逻辑时碰到了需要一直等待的事件该怎么办?它的加载必定会带着主界面的卡顿,这时候我们就要去使用多线程。
288 6
|
11月前
|
Oracle Java 关系型数据库
Android studio 安装以及第一个程序
Android studio 安装以及第一个程序
266 0

推荐镜像

更多
  • qt