女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

硬幣位置識別算法分析與設計

新機器視覺 ? 來源:新機器視覺 ? 作者:新機器視覺 ? 2022-09-07 15:30 ? 次閱讀

利用圖像處理技術,在50*50CM的區域內識別出5枚硬幣(硬幣位置任意),并且控制機械手逐一拾取5枚硬幣,然后把5枚硬幣逐一疊放到指定位置(指定位置隨機)。

圖像處理過程詳解

——LabVIEWVision Assistant

硬幣位置識別算法分析與設計

硬幣的識別是本系統軟件設計最為關鍵的一步,只有識別的穩定、精確才能控制機械手拾取硬幣。硬幣的最主要特征為圓形、銀白色、直徑約為25mm。設計識別算法時也是主要依據這幾個特征進行選擇相應的算法模塊,才能很好的區分周圍環境的雜物。處理的總思想:先采集含硬幣的圖片,進行一系列的濾波、分割、填補后把除圓形外的雜物排除,再用硬幣模版搜索整幅圖像來確定是否有和硬幣一樣大小的圓形。找到圓形后選擇輸出其中心坐標。下面詳細介紹利用Vision Assistant來快速搭建識別硬幣的算法,并輸出像素坐標。

1.1導入圖片

打開Vision Assistant并單擊左上角的圖片按鈕,導入一幅圖片。

9a061f40-2dc0-11ed-ba43-dac502259ad0.jpg

在圖中我們可以看到五枚硬幣,并且還有坐標軸、圓圈等雜物,總之現在的圖像是雜亂的,如果用當前的圖像直接去搜索硬幣無法做到穩定,因為當光照等外部條件改變時背景的白色和硬幣的白色在像素值上非常接近很難進行識別。為此在搜索硬幣前必須進行一定的閥值濾波。把硬幣外形顯示出來,也就是靠顏色去匹配較難,但靠外形匹配容易而且穩定。

1.2轉換RGB

9a13f476-2dc0-11ed-ba43-dac502259ad0.jpg

圖片中的圖像是RGB的,要先把圖片轉成單色的,這樣更利于識別和后續算法的處理。在軟件界面的左下部分的Processing Functions中單擊選擇Color。再選擇Color Plane Extraction這一函數模塊。

處理后我們看到硬幣暗淡了許多,這樣更有利于下一步的分割。

1.3閥值濾波

在Processing Functions中選擇Groyscale,再選擇Threhold。該函數的功能是選擇閥值以內的圖像并且用紅色表示出來。如下圖所示。

9a24ff64-2dc0-11ed-ba43-dac502259ad0.jpg

9a37e6a6-2dc0-11ed-ba43-dac502259ad0.jpg

在look for選擇,默認是Bright Object,所以白色的背景變成了紅色,也就是白色為選擇處理的內容。硬幣相對背景而言是較黑的,所以應該在此項選擇Dark Object。

9a4705aa-2dc0-11ed-ba43-dac502259ad0.jpg

可以看到較黑的硬幣變成了紅色被選中,同時可以調節Threhold Range這一滑調控件來調節閥值,直到滿足硬幣被選中變紅色這一要求為止。然后點擊OK完成本步驟。這是點擊OK后的效果圖,

9a57d484-2dc0-11ed-ba43-dac502259ad0.jpg

圖中除硬幣外還有很多的雜物也被標注紅色了,這是不希望看到的。

1.4移除小雜物

在processing function中選中Binary,再繼續選中ADV.Morphology這一函數模塊。這一函數包含移除小物體、大物體、補全圖像漏缺等功能。進入界面后選中Remove small things ,選中后可以看到圖中軸坐標上的阿拉伯數字被移除了。

9a69f83a-2dc0-11ed-ba43-dac502259ad0.jpg

1.5移除邊緣雜物

再選擇一次ADV.Morphology這一函數模塊,再點擊Remove border object。把圖像中的邊緣去掉,去掉后的效果如下圖所示。

9a714360-2dc0-11ed-ba43-dac502259ad0.jpg

1.6補漏洞

再選擇一次ADV.Morphology這一函數模塊,再點擊Full holes,從下圖中可以看到,五枚硬幣全部變為無漏洞的紅色。至此五枚硬幣的外形已經很完整的提取出來,下一步就是要判斷這五個外形是不是要找的硬幣。

9a8537e4-2dc0-11ed-ba43-dac502259ad0.jpg

1.7二值化圖像

在processing function中選擇grayscale中的lookup table這一函數模塊。該函數的功能為把圖像進行二值化處理,最后輸出像素為0或1的圖像,便于后續處理。在彈出的界面中選擇equalize這一選項,可以看到圖像立即變成了黑白圖像。白色部分即為剛剛被紅色標出來的硬幣輪廓。

9a963490-2dc0-11ed-ba43-dac502259ad0.jpg

1.8查找圓形

這是整個圖像處理中最為關鍵的一步,LabVIEW vision提供了很多方法來查找具有一定外形的物體,比如shape detection、pattern matching等函數。而本系統采用的是share matching這一函數,因為顧名思義這個函數的功能是根據給定外形去查找圖像中是否有相同外形的物體。它的適應性更強更穩定。在processing functionz中選擇share matching這一函數模塊。

9a9fd194-2dc0-11ed-ba43-dac502259ad0.jpg

進入界面后單擊create template,彈出選擇界面,選擇圖中任意一個圓形作為識別的模版即可。然后單擊finish,即可完成識別模版選擇。

9ab13402-2dc0-11ed-ba43-dac502259ad0.jpg

模版選擇好后,自動識別出五枚硬幣,并且用綠色方框標注出來,下方顯示的是對應的硬幣的中心坐標。例如第一枚硬幣的中心坐標在圖中藍色方形取閱,它的中心x坐標為235,中心y軸坐標是94。如下圖所示。

9abd77f8-2dc0-11ed-ba43-dac502259ad0.jpg

到這一步硬幣識別已經成功了,但是坐標還沒有輸出給LabVIEW程序框圖,后續的電機控制也就無法進行。為此必須選擇坐標輸出給后續的VI。

1.9坐標輸出

在右下方單擊select controls這一控件,

9ac5df74-2dc0-11ed-ba43-dac502259ad0.jpg

進入界面后,再在Number of matchings和Shape report前打勾表示這兩項內容為輸出內容。最后電機Finish。

9ad59be4-2dc0-11ed-ba43-dac502259ad0.jpg

在程序框圖中的最后為輸出兩個控件,一個是硬幣數目,另一個是包含坐標信息的簇。至此,硬幣識別的圖像處理部分全部完成。

9aecbf86-2dc0-11ed-ba43-dac502259ad0.jpg

2.目標點識別算法分析與設計

目標點為一紅色的長方塊,它的識別與上一節介紹的硬幣識別方法類似,只是第8步稍微有些差異,即把匹配的圓形改為方形即可。如下圖所示。

9afadc60-2dc0-11ed-ba43-dac502259ad0.jpg

3.利用圖像閉環控制機械手算法設計

之前介紹的圖像處理算法最后輸出的坐標為像素坐標并不是真實的物理坐標,這樣對于后面的電機控制非常不方便,因此在設計控制算法前先要進行坐標換算。考慮到圖像的長寬像素不一樣(長為720,寬576,從圖像的左下角處可以讀出),因此必須分開單獨標定,先標定x軸方向再標定y軸方向。分以下步驟進行。

1)x軸像素標定。

打開overlay這個函數模塊,該模塊的功能為文字標注并且自動顯示出文字所在的像素坐標位置。任取尺子上的兩點A、B,記下A在尺子上的刻度(選擇110MM),從圖中左下角位置直接讀出像素坐標(690,286) (這個坐標是可以改變的,當這個坐標改變時圖像中的文字的位置也會改變。為了便于計算,同時為了刻度的均勻性減少圖像畸變帶來的誤差,在選點時盡量選擇靠近圖像左右邊緣的點,如圖中的A點很靠近右邊而且剛好是整數110MM的刻度);再記下B在尺子上的刻度(250MM),從圖中左下角讀出像素坐標(53,286)。

9b106c60-2dc0-11ed-ba43-dac502259ad0.jpg

9b21ad86-2dc0-11ed-ba43-dac502259ad0.jpg

計算AB兩點真實長度Lx=250-110=240mm,對應的像素坐標長度Lp=690-53=637。則可計算在x軸方向,每兩個像素點的對應的實際長度Lpx=240/637=0.3767 mm/pix。

2)y軸的像素標定。

與x軸標定類似記錄下y軸上的兩點C、D坐標。如下面兩張圖所示,分別為C點刻度175mm,C像素坐標(284,27);D點刻度100mm,D點像素坐標(284,407)。

9b2c2900-2dc0-11ed-ba43-dac502259ad0.jpg

9b3e3a5a-2dc0-11ed-ba43-dac502259ad0.jpg

計算CD兩點真實長度Ly=175-100=75mm,對應的像素坐標長度Lp=407-27=380pix。則可計算在y軸方向,每兩個像素點的對應的實際長度Lpy=75/380=0.197 mm/pix。

3)建立坐標系。

以像素中心O(720/2,576/2)=(360,288)為原點,以x軸方向向右為正,以y軸方向向上為正建立xoy坐標系。則從圖像處理后出來的像素坐標即可轉換成真實的坐標。例如Z(x,y),則z的真實坐標Zx=(x-360)×Lpx=(x-360)×0.3767mm;Zy=(y-288)×0.197mm。

建立好坐標系后,在分析機械手的控制算法前,先分析下機械手控制模型。在下圖中假設機械手平臺上有一枚硬幣A(x,y),則對應的在攝像頭圖像中的坐標為A’(x’,y’)。而當前時刻機械手上的電磁鐵的位置在O’點。O’A’的距離即為要機械手與硬幣的距離,也是要控制電機所走的距離,關于高度Z可暫時忽略。為了讓機械手從O’點走到A’可以先把R軸伸長,再使θ軸轉過一定的角度即可。

9b504d94-2dc0-11ed-ba43-dac502259ad0.jpg

在之前寫的硬件設計(長著眼睛的機械手(六))中可以知道R軸上的步進電機的步距為0.01mm,則R軸步進電機脈沖數n=x’/0.01;但在實際調試中并不止控制一次電機,而是把x’作為反饋控制量去控制R軸的電機,只要x’>2mm,就一直輸出脈沖n給步進電機,直到x’<2mm。

在控制地盤θ軸上與R軸不相同,因為底盤為直流電機控制。想直接通過控制直流電機來使轉盤轉到一定的位置是不可能,而且還有考慮到轉盤齒輪的行程差。為此必須采用實時閉環的方法而且要用脈寬的長短來控制電機的轉速。在小區域內可以用y’近似去代替O’與A’的角度差,再用y’去控制直流電機的驅動時間。Y’有正負電機也能正反轉。直到y’<5為止。

整個控制方法的核心在于,不管x’和y’具體值是多少,只要機械手不在硬幣的正上方(也就是x’y’大于某個值)就不斷去驅動電機,直到機械手很接近硬幣的正上方為止。在機械手走到硬幣的上方后,再控制Z軸的步進電機使之下降一定的距離,再使電磁鐵得電即可把硬幣拾取。

控制機械手到目標方塊的上方也是類似的思路,根據圖像中方塊的位置坐標進行反饋控制電機,直到坐標在一定的范圍內。再控制Z軸下降,下降到一定的高度后再釋放電磁鐵使硬幣放下。

審核編輯:彭靜
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 軟件
    +關注

    關注

    69

    文章

    5117

    瀏覽量

    88923
  • 圖像處理技術

    關注

    0

    文章

    33

    瀏覽量

    10139
  • 算法分析
    +關注

    關注

    0

    文章

    9

    瀏覽量

    7678

原文標題:圖像處理——過程全解析,配圖超詳細!

文章出處:【微信號:vision263com,微信公眾號:新機器視覺】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦
    熱點推薦

    基于單片機的硬幣識別

    我想做一個基于單片機的硬幣幣值識別裝置,識別模塊可用什么方法實現啊?盡量不要用到傳感器求高手解答~~~
    發表于 03-01 21:36

    硬幣算法怎么寫

    用壓力傳感器側一些硬幣的質量,通過什么算法能區分出每種硬幣的個數以及金額的大小,小弟實在想不出來了,希望大家幫助幫助,給小弟我出一些招數,小弟在此感激不盡!
    發表于 09-04 23:43

    怎么用matlab實現對硬幣識別與分類

    怎么用matlab實現對硬幣識別與分類?需要用到哪些函數?求賜教。。。
    發表于 05-08 17:18

    硬幣清點

    如何識別真假硬幣?希望大家可以提供幫助,包括傳感器選型、控制器選型等等,謝謝!
    發表于 08-15 22:28

    帶有3D手勢識別和手部位置追蹤系統

    手勢,并使用統計建模區分刻意手勢和一般手部移動。 圖 1: GestIC 算法通過分析準靜電場扭曲來識別手勢。MGC3030 在 32 位 DSP 內核上運行 GestIC 算法,并使
    發表于 07-03 09:40

    基于Qualcomm DSP算法集成分析與案例分享三

    一.簡介這個系列博客博主給大家分享了基于Qualcomm DSP算法集成分析與案例分享,今天再給大家分享份干貨----ThunderSoft公司基于Qualcomm msm8996平臺的超聲波姿勢識別
    發表于 09-28 14:20

    LabVIEW使用Vision視覺識別硬幣

    硬幣是標準的圓形。2,利用粒子分析方法,直接二值化后,得到個體的面積。方法1:直接使用shape detection自動識別圓,但是要注意設定的參數問題,直接識別,會出現很多干擾,所
    發表于 02-28 19:29

    基于二級互補算法硬幣鑒別系統

    電渦流式傳感器在硬幣識別中的應用,提出了一種基于單片機控制的互補型鑒別、識偽新算法。關鍵詞: 電渦流式傳感器互補算法硬幣鑒別
    發表于 07-06 08:52 ?38次下載

    星座圖聚類分析的QAM信號調制識別算法及DSP實現

    星座圖聚類分析的QAM信號調制識別算法及DSP實現 本文首先討論基于信號星座圖聚類分析的QAM信號識別
    發表于 05-08 08:28 ?2977次閱讀
    星座圖聚類<b class='flag-5'>分析</b>的QAM信號調制<b class='flag-5'>識別</b><b class='flag-5'>算法</b>及DSP實現

    變加減速算法位置伺服系統中的應用與分析

    變加減速算法位置伺服系統中的應用與分析
    發表于 05-04 14:37 ?10次下載

    DTW語音識別算法研究與分析_朱淑琴

    DTW語音識別算法研究與分析_朱淑琴
    發表于 03-19 11:26 ?5次下載

    人臉識別算法分析

    人臉識別算法的原理:系統輸入一般是一張或者一系列含有未確定身份的人臉圖像,以及人臉數據庫中的若干已知身份的人臉圖象或者相應的編碼,而其輸出則是一系列相似度得分,表明待識別的人臉的身份。
    發表于 10-28 11:21 ?7150次閱讀

    改進的HMAX算法應用與車型識別

    識別率。此外,通過計算同一模板與不同圖片響應度值的方差,消除了冗余模板,降低了算法識別時間。分析和實驗表明,改進的HMAX算法可以有效地實
    發表于 12-18 16:21 ?0次下載
    改進的HMAX<b class='flag-5'>算法</b>應用與車型<b class='flag-5'>識別</b>

    基于數字特征的識別算法設計實現

    基于數字特征的識別算法其核心是通過對數字的形狀以及結構等幾何特征進行分析與統計,通過對數字特征的識別從而達到對圖像中數字的識別
    發表于 04-13 16:39 ?1.2w次閱讀
    基于數字特征的<b class='flag-5'>識別</b><b class='flag-5'>算法</b>設計實現

    成功的通過硬幣接受程序避免松散的信號

    大多數硬幣接收器都配有傳感器來檢測尺寸和金屬成分的差異。一些特殊的硬幣接收器使用視覺檢測技術來識別不同硬幣上的顯著特征并單獨注冊它們。通常,這些方法足以精確
    的頭像 發表于 07-26 09:51 ?2879次閱讀