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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

HALCON 1D Measure 算子初识

發布時間:2023/12/10 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 HALCON 1D Measure 算子初识 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

基本上1D Measure都是建立一個ROI(region of interest,感興趣區域),然后在感興趣區域提取出邊界的測量。常見的ROI有矩形ROI和圓環ROI。
下圖為一個矩形ROI,中間的Profile Line為橫截線,Center是行和列的坐標,Phi指定了它的傾斜角度,Length1和Length2指定了它的長寬。

下圖為一個圓環ROI,比較不一樣的是它還有一個角度的概念,如伸展角度(angle extent),開始角度(angle start),等。

通常,我們就是要確定在ROI內,圖像中的邊界線的具體坐標,怎么確定呢?通常是通過灰度值。如下圖a,我們想測試一下管腳的長度,因為管腳本身和背景比起來是比較暗的,因此就可以通過測灰度值的方法將他們區分開來。

怎么測呢?實際上,我們是以Profile Line為橫坐標,在每個橫坐標點,做垂線,求得這條垂線上,ROI內,每個點的坐標的灰度值,取平均,作為這個橫坐標點的平均灰度值。這樣有管腳的地方,灰度值就會和兩邊都不一樣(一邊暗,一邊亮)。

看看具體的算子:

gen_measure_rectangle2 (Row, Column, Phi, Length1, Length2, Width, Height, Interpolation, MeasureHandle)

首先通過gen_measure_rectangle2生成一個ROI,這里會產生一個MeasureHandle,即測量的句柄,用它,就可以告訴其它需要用到這個ROI的算子:"嘿,我構建了一個ROI,它叫MeasureHandle要用的話就拿去",Interpolation代表我們要用插值的方法,找到一些小數位置的灰度值,因為如果ROI不是垂直或水平的,它就可能包含很多坐標是小數的點,這些點本身是沒有灰度值定義的,需要通過插值的方法算出來。

measure_pos (Image, MeasureHandle, Sigma, Threshold, Transition, Select, RowEdge, ColumnEdge, Amplitude, Distance)

通過上面得到的MeasureHandle,當然還有更早得到的Image,我們再用measure_pos 這個算子,意思是要測量(邊緣)的位置。這里Sigma是進行均值濾波的參數,而要進行均值濾波的原因是,圖像上可能會有噪點,影響我們對邊緣的判斷,用均值濾波平滑掉這些噪點,可以減少誤判;Threshold是閾值,代表閾值超過多少把它當做邊緣;Transition代表是如何轉換的,是亮到暗還是暗到亮還是都要;Select代表可以為first或last或all,意思是你要選你一個還是最后一個還是所有檢測到的邊緣因為接下來的RowEdge和ColumnEdge存儲邊緣的數組,它可以存儲很多的點;Amplitude指定的是一個縮放,因為工業上還是要測量具體的值的,通過邊界的坐標加上縮放的計算,可以計算出確切的距離,就存在Distance里。
類似的還有measure_pairs:

measure_pairs (Image, MeasureHandle, Sigma, Threshold, Transition, Select, RowEdgeFirst, ColumnEdgeFirst, AmplitudeFirst, RowEdgeSecond, ColumnEdgeSecond, AmplitudeSecond, IntraDistance, InterDistance)

由它測量出來的邊界都是成對存在的。

轉載于:https://www.cnblogs.com/drunknbeard/p/9474558.html

總結

以上是生活随笔為你收集整理的HALCON 1D Measure 算子初识的全部內容,希望文章能夠幫你解決所遇到的問題。

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