zoukankan      html  css  js  c++  java
  • (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方面需要研究的东西。
    感谢阅读至此希望有所帮助!




  • 相关阅读:
    cron表达式详解
    C# Quartz 调度任务辅助类
    SQLserver查询用逗号隔开的字段中是否包含另一个字段的值
    c# 将字符串转换为逻辑表达式(字符串转换布尔)
    铺砖块
    字符串涂漆
    快餐店
    乘号加号
    传纸条(lgP1006)
    小明的喷漆计划
  • 原文地址:https://www.cnblogs.com/jsxyhelu/p/8298643.html
Copyright © 2011-2022 走看看