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

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

createtemp


然后就可以修改了
修改logo,添加权限
这个时候已经可以使用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方面需要研究的东西。
感谢阅读至此希望有所帮助!




posted on   jsxyhelu  阅读(38)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

统计

点击右上角即可分享
微信分享提示