圖檔采集了,處理了,如何儲存?最直接的方法是使用imwrite,但是如果現在直接使用的話,比如會出現這樣或那樣的錯誤,因為我們現在是在android的環境下進行圖像處理,是以必須要融入到Android的權限管理系統中去。
在新版本的QT中,這一步是這樣做的:項目->詳情
![](https://img.laitimes.com/img/_0nNw4CM6IyYiwiM6ICdiwiIn5GcuQWO2QWO5IzYmNTMkJ2N0MGZiRjZzQWZjZjYlhTOkZTOfdWbp9CXt92Yu4GZjlGbh5SZslmZxl3Lc9CX6MHc0RHaiojIsJye.png)
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;
bool ok = dir.mkpath(fullPath);//建立多級目錄
return ok;
二、使用過程中發現的突出問題到目前為止,GO_GTD已經可以使用了,作為一個我自己研究和使用的工具,我确實是每天都在使用。到了這一步,主要是以下問題:
1、圖像的采集,目前采用的是圖檔采集的方式,這個方式最大的問題就是不知道你采集的圖檔是否是可用的。下一步需要修改成類似二維碼的采集模式,也就是視訊直接處理的模式。這個首先從做特征點開始;
2、圖像結果的存儲使用,目前儲存到檔案夾中,那麼如果想要使用,想要在app上面直接看到結果,還有很多qml方面需要研究的東西。
感謝閱讀至此希望有所幫助!
來自為知筆記(Wiz)目前方向:圖像拼接融合、圖像識别
聯系方式:[email protected]