日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > ChatGpt >内容正文

ChatGpt

项目实战-图像识别项目-通过QT制作图形界面并调用百度AI进行图像识别(一)

發布時間:2024/3/13 ChatGpt 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 项目实战-图像识别项目-通过QT制作图形界面并调用百度AI进行图像识别(一) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉自迅為4412開發板項目實戰教程

B站視頻地址:https://www.bilibili.com/video/BV157411c7sc?p=7

?

硬件平臺:iTOP-4412開發板

項目名稱:圖像識別項目?

?

?

?

?

本文我們來學習利用QT構建一個圖形界面并用QT調用百度AI的接口

?

一.添加arm編譯套件

打開QT creator?點擊Tools->Options

?

?

?

點擊Build&run,并選擇Compilers,如下圖所示:

?

?

?

點擊add,選擇gcc->c,并在Compiler path?中選擇2014.05編譯器的gcc,名字起名為arm-linux-gcc,設置完成后點擊apply

?

?

?

?

點擊add,選擇gcc->c,并在Compiler path?中選擇2014.05編譯器的g++,名字起名為arm-linux-g++,設置完成和后點擊apply,如下圖所示:

?

?

?

點擊debuggers,選擇add,在path路徑里面我們選擇2014.05的gdb,name起名為arm-linux-gdb,設置完成后點擊apply,如下圖所示:

?

?

?

我們把編譯好的QT庫拷貝到ubuntu的/opt路徑下,并解壓,如下圖所示:

?

?

?

點擊kits,然后點擊add,在彈出來的name選項中,我們填寫ARM,device type,設備類型我們選擇桌面,Compiler C和C++我們選擇我們剛剛添加的4.4.1的C和C++,Debugger我們選擇我們剛剛添加的4.4.1的GDB,QT version我們選擇我們剛剛在/opt下解壓的qmake,設置完成之后我們點擊apply并點擊ok。如下圖所示:

?

?

?

二.創建一個工程把添加環境變量

?????點擊file->new file or prohect?,創建一個工程,如下圖所示:

?

?

?

?

選擇qt widgets

?

?

?

設置工程名稱和存放路徑,如下圖所示:

?

?

?

?

編譯套件選擇我們剛剛添加的arm,設置好以后,點擊next,如下圖所示:

?

?

?

在彈出來的base class選項中,我們選擇qwidget,設置好以后選擇next,如下圖所示:

?

?

?

點擊finish,如下圖所示:

?

?

?

這樣我們這個工程就創建完成了,在添加環境變量之前,我們把我們編譯的libv4l-0.6.4庫拷貝到/usr/local/opencv-2.4.9/lib/下面,命令如下:

?

cp -r ./lib/* /usr/local/opencv-2.4.9/lib/

如下圖所示:

?

?

?

我們點擊pro文件,添加庫的環境變量。環境變量如下:

INCLUDEPATH += ?/usr/local/curl/include ????????????????????\ ??????????????? ???/usr/local/json/include ????????????????????\ ?????????

???????????????????/usr/local/openssl/include ?????????????????\ ???????

???????????????????/usr/local/opencv-2.4.9/include ????????????\ ?????????

??????????????????/usr/local/opencv-2.4.9/include/opencv ?????\ ???????????

/usr/local/opencv-2.4.9/include/opencv2 ????\

?

LIBS += ??/usr/local/curl/lib/libcurl.so.4.5.0 ???????\ ?????

??????????/usr/local/json/lib/libjsoncpp.so ??????????\ ?????

??????????/usr/local/openssl/lib/libssl.so.1.0.0 ?????\ ?????

?????????/usr/local/openssl/lib/libcrypto.so.1.0.0 ??\ ????

?????????/usr/local/opencv-2.4.9/lib/libopencv* ??????\ ??

????????/usr/local/opencv-2.4.9/lib/libv4l1* ????????\ ???

/usr/local/opencv-2.4.9/lib/libv4l2* ???????\ ??????

?/usr/local/opencv-2.4.9/lib/libv4lc* ???????\

?

?

添加完成后如下圖所示:

?

?

?

設計UI,添加三個label,一個按鈕,一個消息框,為了簡單,我們就不布局了,所以qwidge的大小我們要設置成和屏幕分辨率大小一樣,這里我使用的是金屬殼7寸屏幕,所以我這里設置成了1024*600。

?

?

?

我們把百度AI的SDK拷貝到Ubuntu的QT工程下,如下圖所示:

?

?

?

然后右鍵點擊qtcreator中我們的新建的工程,選add existing files,如下圖所示:

?

?

?

在我們拷貝到工程下面的SDK中找到百度AI提示需要的頭文件,

?

?

?

添加完成如下圖所示:

?

?

?

頭文件的路徑要和我這里保持一致,路徑如下:

?

?

?

然后把快速入門的中的client的例子拷貝到widget.cpp里面,拷貝內容如下:

?

?

?

#include "ocr.h" ??

// 設置APPID/AK/SK ???

std::string app_id = "你的 App ID"; ???

std::string api_key = "你的 Api key"; ???

std::string secret_key = "你的 Secret Key"; ???

aip::Ocr client(app_id, api_key, secret_key);

拷貝完成如下:

?

?

?

?

?

?

?

然后把里面的APPID/AK/SK替換成我們第一節課創建的應用中生成的APPID/AK/SK,如下圖所示:

?

?

?

替換完成如下圖所示:

?

?

?

?

新建一個函數接著把百度AI?提供的調用的例子直接拷貝過來,如下圖所示:

?

?

?

?

拷貝內容如下:

?

?

//我們只要把我們用攝像頭拍的照片傳到下面的這個函數就可以了 //aip::get_file_content("/assets/sample.jpg", &image)

Json::Value result;

std::string image; aip::get_file_content("/assets/sample.jpg", &image);

// 調用車牌識別

result = client.license_plate(image, aip::null);

// 如果有可選參數 std::map<std::string, std::string> options;

options["multi_detect"] = "true";

// 帶參數調用車牌識別

result = client.license_plate(image, options);

添加完如下圖所示:

?

?

?

?

?

判斷返回值和錯誤信息,返回格式如下:

?

?

?

錯誤信息如下:

?

?

?

判斷返回值代碼:

if(result["error_code"].isNull()) ???

{ ? ?????

??????return (result["words_result"][0]["number"].asString() + ",歡迎光臨."); ???

} ??

else ???

{ ???????

return ("識別失敗"); ???

} ???

return ("識別失敗");

我們把判斷返回值代碼寫到我們上面新建的std::string eNGetPLatumber(std::string PicturePath)函數下面:如下圖所示:

?

?

?

至此,我們識別調用百度的接口的代碼已經完成了。

?

?

?

?

?

關注迅為公眾號,持續更新技術干貨。

總結

以上是生活随笔為你收集整理的项目实战-图像识别项目-通过QT制作图形界面并调用百度AI进行图像识别(一)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。