亚洲精华国产精华精华液网站,你懂的,娇生惯养4ph归寻(矜以),丰年经继拇中文3与其他教材比较

技術頻道

娓娓工業
您現在的位置: 中國傳動網 > 技術頻道 > 應用方案 > 【正運動】ZBasic結合Qt實現機器視覺數字識別

【正運動】ZBasic結合Qt實現機器視覺數字識別

時間:2021-07-16 14:21:27來源:深圳市正運動技術有限公司

導語:?上期課程我們和大家分享了QT調用ZBasic語言的方法,即調用ZBasic語言封裝的C++動態鏈接庫,并實現機器視覺圖像采集功能。本次課程我們將在上期課程的程序基礎上,實現機器視覺數字識別的檢測功能。

機器視覺

  上期課程我們和大家分享了QT調用ZBasic語言的方法,即調用ZBasic語言封裝的C++動態鏈接庫,并實現機器視覺圖像采集功能。

  本次課程我們將在上期課程的程序基礎上,實現機器視覺數字識別的檢測功能。

機器視覺

  教學視頻

  一檢測原理梯形圖介紹

機器視覺

  二軟件實現梯形圖介紹

  (一)準備

機器視覺

  (二)實例演示

  1.打開ZDevelop軟件,打開上次課程使用到的圖像采集項目,添加使用到的全局變量,添加【測試】功能子程序、【連續運行】子程序、【停止運行】子程序。(此部分的basic指令可在下方的百度云盤鏈接獲取,這里不做展示)

  2.打開QTCreator軟件,點擊“Open Project”,在指定路徑下找到上次課程的項目文件“QT_ZVision_1”并打開項目。

  3.在“mainwindow.cpp”文件中增加定義程序中使用到的全局變量。

  int flag=0;ZMC_HANDLE g_handle;int Times=0;uint8 zv0_pBuff[520*390*2]={0};//鎖存0緩存大小int ContinuousGetImgFlag=0; //連續采集標志int ContinuousRunFlag=0; //連續運行標志

  4.補充設計UI界面。

機器視覺

  5.添加界面初始化代碼。

  MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); //ui->ZV0->setText(""); //清空字體 //ui->ZV0->setStyleSheet("QLabel{background-color:rgb(0, 0, 100);}"); //設置樣式表 ui->select_mode->addItem("手動閾值",0); ui->select_mode->addItem("自動閾值",1); ui->ExposureValue->setText("5000"); UpZV_0.start(20);//20ms定時判斷采集并顯示圖像 connect(&UpZV_0, SIGNAL(timeout()), this, SLOT(UpZV_0show()));}

  6.添加【測試】槽函數:選擇【測試】按鈕,右擊彈出快捷菜單欄,選擇“轉到槽”選項→彈出“轉到槽”窗口,選擇對應的信號源“clicked()”,點擊“OK”確認,即可完成槽函數的定義和聲明→在槽函數的聲明函數中添加函數實現的具體代碼內容。

  //單次執行函數void MainWindow::on_execute_once_clicked(){ int32 iresult; //將QT界面設置的參數寫入控制器對應變量中 int mode,low_thresh,high_thresh,min_area,max_area; mode=ui->select_mode->currentIndex(); ZAux_Direct_SetVariableInt(g_handle,"d_detect_param(0)",mode); low_thresh=ui->low_thresh_value->value(); ZAux_Direct_SetVariableInt(g_handle,"d_detect_param(1)",low_thresh); high_thresh=ui->hige_thresh_value->value(); ZAux_Direct_SetVariableInt(g_handle,"d_detect_param(2)",high_thresh); min_area=ui->min_area->value(); ZAux_Direct_SetVariableInt(g_handle,"d_detect_param(3)",min_area); max_area=ui->max_area->value(); ZAux_Direct_SetVariableInt(g_handle,"d_detect_param(4)",max_area); iresult=ZAux_RunTask(g_handle,0,"btn_test()");//運行控制器里面指定的SUB if (iresult==0) { qDebug()<<"run btn_test() success"; } else { qDebug()<<"run btn_test() fail !!"<<iresult; p="" 刷新顯示界面圖像}<="">

  7.添加【連續運行】槽函數:選擇【連續運行】按鈕,右擊彈出快捷菜單欄,選擇“轉到槽”選項→彈出“轉到槽”窗口,選擇對應的信號源“clicked()”,點擊“OK”確認,即可完成槽函數的定義和聲明→在槽函數的聲明函數中添加函數實現的具體代碼內容。

  //連續運行void MainWindow::on_run_clicked(){ int32 iresult; iresult=ZAux_RunTask(g_handle,0,"btn_run()");//運行控制器里面指定的SUB if (iresult==0) { qDebug()<<"run btn_run() success"; }

  else { qDebug()<<"run btn_run() fail !!"<

  8.添加定時刷新函數:在“mainwindow.h”文件中定義“QTimer Uprun_0”定時器變量→在界面初始化函數中添加定時器觸發條件和信號與槽連接函數→添加定時檢測識別骰子點數的定義和聲明函數,并在聲明函數中添加具體的實現代碼內容。

  private: Ui::MainWindow *ui; QPixmap fPixmap; QTimer UpZV_0; QTimer Uprun_0;

  MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ui(new Ui::MainWindow){ ui->setupUi(this); //ui->ZV0->setText(""); //清空字體 //ui->ZV0->setStyleSheet("QLabel{background-color:rgb(0, 0, 100);}"); //設置樣式表 ui->select_mode->addItem("手動閾值",0); ui->select_mode->addItem("自動閾值",1); ui->ExposureValue->setText("5000"); UpZV_0.start(20);//20ms定時判斷采集并顯示圖像 connect(&UpZV_0, SIGNAL(timeout()), this, SLOT(UpZV_0show())); Uprun_0.start(200);//200ms定時判斷采集并顯示圖像 connect(&Uprun_0, SIGNAL(timeout()), this, SLOT(Uprun_show()));}

  //定時器開啟連續運行void MainWindow::Uprun_show(){ if(1 == ContinuousRunFlag) { ZV0_Show(); }}

  9.添加【停止運行】槽函數:選擇【停止運行】按鈕,右擊彈出快捷菜單欄,選擇“轉到槽”選項→彈出“轉到槽”窗口,選擇對應的信號源“clicked()”,點擊“OK”確認,即可完成槽函數的定義和聲明→在槽函數的聲明函數中添加函數實現的具體代碼內容。

  //停止運行void MainWindow::on_stop_clicked(){ int32 iresult; iresult=ZAux_RunTask(g_handle,0,"btn_stop()");//運行控制器里面指定的SUB if (iresult==0) { qDebug()<<"run btn_stop() success"; } else { qDebug()<<"run btn_stop() fail !!"<

  10.查看運行效果:將控制器接入電源,使用網線將控制器與PC連接,將相機通電并接入控制器→使用ZDevelop軟件打開ZBasic自動識別骰子點數的項目文件,將該項目下載到控制器→運行QT程序,并連接到控制器,進行對應采集操作。

  (三)仿真效果演示

機器視覺

  本次,正運動技術ZBasic結合Qt實現機器視覺數字識別,就分享到這里。

  本文由正運動技術原創,歡迎大家轉載,共同學習,一起提高中國智能制造水平。文章版權歸正運動技術所有,如有轉載請注明文章來源。


標簽: 機器視覺

點贊

分享到:

上一篇:【正運動】機器視覺運動控制...

下一篇:【正運動】EtherCAT運動控制...

中國傳動網版權與免責聲明:凡本網注明[來源:中國傳動網]的所有文字、圖片、音視和視頻文件,版權均為中國傳動網(www.siyutn.com)獨家所有。如需轉載請與0755-82949061聯系。任何媒體、網站或個人轉載使用時須注明來源“中國傳動網”,違反者本網將追究其法律責任。

本網轉載并注明其他來源的稿件,均來自互聯網或業內投稿人士,版權屬于原版權人。轉載請保留稿件來源及作者,禁止擅自篡改,違者自負版權法律責任。

網站簡介|會員服務|聯系方式|幫助信息|版權信息|網站地圖|友情鏈接|法律支持|意見反饋|sitemap

傳動網-工業自動化與智能制造的全媒體“互聯網+”創新服務平臺

網站客服服務咨詢采購咨詢媒體合作

Chuandong.com Copyright ?2005 - 2025 ,All Rights Reserved 深圳市奧美大唐廣告有限公司 版權所有
粵ICP備 14004826號 | 營業執照證書 | 不良信息舉報中心 | 粵公網安備 44030402000946號

主站蜘蛛池模板: 灵丘县| 呼图壁县| 崇信县| 上栗县| 德江县| 育儿| 都江堰市| 通渭县| 增城市| 西和县| 交城县| 都匀市| 虎林市| 滨海县| 兴安县| 江陵县| 普宁市| 白玉县| 垫江县| 商丘市| 东至县| 定陶县| 香港| 陆良县| 舟曲县| 双辽市| 景洪市| 肥西县| 汕尾市| 介休市| 毕节市| 三穗县| 隆昌县| 自贡市| 靖州| 德格县| 洛阳市| 天气| 泰和县| 五家渠市| 九龙城区|