halcon与QT联合:(5.1)瓶盖检测以及QT界面搭建
halcon實現瓶蓋檢測與定位代碼:
dev_close_window()
dev_open_window(0, 0, 1024, 1024, 'black', WindowHandle)
list_image_files('C:/Users/TIMI/Desktop/picture/circle', 'default', [], ImageFiles)
for J := 1 to 4 by 1*read image read_image(halconImage, ImageFiles[J-1])*read_image(halconImage,'C:/Users/TIMI/Desktop/srcImage/bord'+J$'01d'+'.png')*find circle(這一部分是要封裝的處理過程)*1、三通道轉化為單通道decompose3(halconImage,RImage,GImage,BImage)*2、二值化threshold (RImage, Regions,0, 171)*填充(目的是干嘛?)dev_set_draw('margin')fill_up(Regions, RegionFillUp)*形態學處理opening_circle(RegionFillUp, RegionOpening, 3.5)*連通處理connection(RegionOpening, ConnectedRegions)*特征選擇select_shape (ConnectedRegions, SelectedRegions, ['area','circularity'], 'and', [110351,0.83981], [199445,1])*區域中心area_center(SelectedRegions, Area, Row, Column)*顯示中心dev_set_color('red')gen_cross_contour_xld(Cross, Row, Column, 16, 0.78)*打印信息(這一部分是要封裝的結果展示) tuple_length(Row,RowLength)* 有效值if(RowLength==1 and Row!=0)dev_set_draw('margin')dev_clear_window()dev_display(halconImage)dev_set_line_width(1)dev_set_color('green')dev_display(Cross)dev_set_line_width(3)dev_set_color('green')dev_display(SelectedRegions)message[0]:=' The '+J +' in ' +4message[1]:='Find board in position '+'Row:='+ Row +' Column:='+Columndisp_message(WindowHandle, message, 'window',10, 10, 'green', 'false')elsemessage[0]:=' The '+J +' in ' +4message[1]:='識別錯誤 error !'disp_message(WindowHandle, message, 'window',130, 10, 'green', 'false')endifendfor
原始圖片與圖左;結果展示如圖右。
??
?------------------下邊參照博客進行界面搭建。
https://blog.csdn.net/m0_37957160/article/details/119003705?spm=1001.2014.3001.5501
最終搭建的簡單界面如下:
完整大QT界面搭建步驟:
1、添加庫函數。包括include和lib的添加。
2、界面設計。
3、halcon的代碼封裝與導出。
4、圖片顯示在界面上。
5、構建一個類,存放圖像處理的代碼。
6、滾輪的放大與縮小
7、添加按鈕,在圖像上進行繪圖操作。以及添加資源(即以一個圖片作為按鈕的背景。)
8、參數與界面進行關聯。
9、管理參數。(一般使用結構體或者Qsetting)
第一步:QT工程建立。
第二步:各個模塊類的添加。
在主窗口的.h內添加類的頭文件,并定義一個指針指向類。
在主窗口的.cpp的構造函數內初始化指針。
第三步:ui界面設計。
第四步:綁定窗口。
第五步:各個button轉到槽,添加變量,頭文件內函數聲明,源
第六步:把顯示函數里邊if的窗口刪除掉,并把窗口參數HDevWindowStack::GetActive()
改為WindowHandle。
完整大QT界面以及代碼見鏈接:
https://download.csdn.net/download/m0_37957160/20464695
總結
以上是生活随笔為你收集整理的halcon与QT联合:(5.1)瓶盖检测以及QT界面搭建的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数字图像处理:blob分析、阈值分割
- 下一篇: halcon与QT联合:(5.2)瓶盖检