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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人文社科 > 生活经验 >内容正文

生活经验

halcon与QT联合:(5.4)瓶盖检测以及QT界面搭建

發布時間:2023/11/27 生活经验 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 halcon与QT联合:(5.4)瓶盖检测以及QT界面搭建 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

接著上篇博客的鼠標滾輪事件之后,本次要完成的是基于結構體的變量管理以及如何讓參數與界面進行關聯。

---------------------------------1、下面實現的是變量管理----------------------------------

基于結構體的變量管理:

個人習慣:在寫結構體時單獨去寫一個文件,起名為公共部分,(這個部分就可以把需要用到的結構體或者define變量,就是每一個成員都可能會用到的變量都可以放在這里 )

添加---->Add New---->C++,此時可以添加.h文件或者一個類(因為添加類的話.h和.cpp文件你都會包含了,只需要把添加的類構造函數的代碼刪除掉就可以因為我們不寫類,作為普通的.h和.cpp文件來使用了)

把上述對應的代碼刪除掉,因為我們不寫類。

結構體的寫法一共有4種方式,選擇自己最熟悉的寫結構體的方式即可。

下面如果有變量要使用的地方就要使用結構體.的方式來使用變量。

?---------------------------2、下面進行自動加載和保存參數----------------

自動加載和保存參數就是比如本次我們已經修改了參數,比如參數灰度值,下次再使用的時候我們不想再去修改了,就是修改一次之后想保存本次記憶,下次開機自動就是保存上次的參數。這樣每次就不用去修改了。想實現這樣的功能,我們使用的是QSetting的方法。

下面以二值化的灰度閾值進行記錄:

首先在界面上添加參數按鈕:二值化最小閾值和二值化閾值最大值。

(基于上次界面的基礎上,在ui上先把布局打破,然后復制一下打開圖像和計數的按鈕-----復制粘貼是偷懶式的建立按鈕方式。)

?之后進行轉到槽操作,因為此處是int型,所以選擇int的ValueChage(int)。

?下一步就是轉到槽內函數的封裝:

1、先在公共頭文件定義一個結構體進行變量的管理。(就是上一步的變量管理)

?

2、定義結構體之后使用結構體聲明變量。

PramSave PramS;

?3、變量在函數中的使用

(1)首先頭文件中引入QSettings的頭文件。

是QT特有的一個類。 用來保存或讀取一些配置信息用的。

具體代碼如下:

//最小閾值管理的槽
void QtCircleLocation::on_sB_MinThreshold_valueChanged(int arg1)
{//參數處理與保存(1、首先定義一個結構體管理參數)//1、給變量賦值PramS.MinThreshold=arg1;QString group;QString key;QVariant value;//賦值group="main";key="MinThresholdValue";value=QVariant(arg1);//對value進行強制轉化一下//2、保存一個值到我本地文件(使用Qsetting的方法 )QSettings setting(qApp->applicationDirPath()+"/mysave.ini",QSettings::IniFormat);if(group.size()!=0){setting.beginGroup(group);}setting.setValue(key,value);if(group.size()!=0){setting.endGroup();}
}

?

打開這個mysave.ini文件:

?

?main是一個小組,小組里邊有一個成員名稱是ThresholdValue,值為4(就是鍵值對key----value)。

?下面是對于最大值MaxThreshold轉到槽的操作:同上。

?把上述紅框里邊的代碼封裝為一個公共函數,放在公共部分(就是大家都會用到的)。

保存模式:

封裝模式:頭文件中聲明,源文件中定義。(函數聲明與函數定義里邊參數的類型必須一樣,名稱可以不一樣)

聲明:

定義:

函數調用:

加載模式:

加載函數的聲明與定義仍然放在公共部分,但是加載函數的調用放在構造函數里邊,構造函數里邊是程序一啟動就會加載。

加載參數(加載是需要將參數輸出的,輸出的話這里使用的是引用的方法)

?函數聲明:

函數定義:

?函數調用:

最終當你再次運行代碼的時候就會記錄你上次使用的參數:

?下面就界面修改的灰度閾值生效,就需要在處理函數中修改一下:

?首先在處理函數里邊引用在外部cpp定義的變量:(這里就不再定義,直接使用extern使用就行)

?選編在二值化里邊的函數修改一下,由原來的的固定值0和171修改為 PramS.MinThreshold和PramS.MaxThreshold。

?最終結果:

最終的完整代碼見鏈接:

https://download.csdn.net/download/m0_37957160/20688257

總結

以上是生活随笔為你收集整理的halcon与QT联合:(5.4)瓶盖检测以及QT界面搭建的全部內容,希望文章能夠幫你解決所遇到的問題。

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

主站蜘蛛池模板: 91学生片黄| 精品丰满人妻无套内射 | 亚洲AV无码精品一区二区三区 | 黄色网页大全 | 中文字幕在线导航 | 日本一区二区三区精品 | 一道本在线视频 | sese国产| 亚洲天堂av网站 | 欧美在线一区二区 | 国产精品99精品无码视 | 性xxxx视频播放免费 | 九九色在线 | 欧美视频精品在线 | 成人性做爰aaa片免费看不忠 | 国产日韩欧美视频在线 | 亚洲AV午夜成人片 | 久久精品国产免费看久久精品 | 久久久久久av无码免费网站下载 | 亚洲第99页| 情侣黄网站免费看 | 九九色| 日韩成人精品在线 | 直接看毛片 | 精品在线观看免费 | 亚洲国产精品成人av | 亚洲爱爱爱 | 999精品免费视频 | 免费国产黄色网址 | 绝顶高潮videos合集 | 91九色pron | 奇米777色 | 日本在线免费观看 | 人妻奶水人妻系列 | 依依成人综合网 | 欧美精品一区二区免费看 | 成人免费网站 | 人人妻人人澡人人爽欧美一区 | 黄色大片91 | 成人免费毛片嘿嘿连载 | 婷婷久久综合网 | 熟女av一区二区三区 | 玩弄白嫩少妇xxxxx性 | 97caop| 亚洲国产精彩中文乱码av | 国产精品伊人久久 | 欧美国产日韩在线观看 | 麻豆91av| av激情影院 | 午夜噜噜 | 黄色免费片 | 美女午夜激情 | 黄色一级一片免费播放 | 欧美成人精品三级网站 | 成人午夜高清 | 欧美成网| 欧美久久久久久久久久久 | 尼姑福利影院 | 久久久久久不卡 | 亚洲精品乱码久久久久久麻豆不卡 | 综合网在线视频 | 国产精品久久久 | 九九九在线视频 | 日韩欧美亚洲综合 | 一区二区欧美在线 | 国产成人精品视频 | 村姑电影在线播放免费观看 | 韩国美女啪啪 | 超碰伊人网 | www.久久爱 | 大桥未久恸哭の女教师 | 国精产品一区二区 | 亚洲一区二区高清视频 | 国产一级片免费视频 | 少妇厨房愉情理伦bd在线观看 | 影音先锋婷婷 | 中国一级特黄录像播放 | 欧美精品在线第一页 | 国产高清在线视频 | 久久免费国产视频 | 国产乱了高清露脸对白 | 欧美日韩中文字幕视频 | аⅴ天堂中文在线网 | 午夜黄色在线 | 高清国产一区 | 夜夜小视频 | 新国产视频 | 欧美一区二区三区爽爽爽 | 调教小屁屁白丝丨vk | 久久久久久久麻豆 | 狠狠久| 久久女同互慰一区二区三区 | 黄色在线免费观看网站 | 在线免费av观看 | 操操操免费视频 | 色吊丝av中文字幕 | 久久免费一区 | 黄网页在线观看 | 亚洲久操 |