2021-01-05 Halcon初学者知识【7】 最简单的测距问题-点与点测距
Halcon初學者知識【7】 最簡單的測距問題-點與點測距
點與點測距的思路,是建立在兩個不同坐標點上的距離計算問題。由于在現實中,需要測定的是幾何上的點距,比如,兩個圓的圓心距離。一個線與另一條線的距離。先看看基本的操作:
row:=[112.7,243.12]
column:=[97,202]
distance_pp( row[0], column[0], row[1], column[1], Distance)
以上操作后,Distance就是兩個點的距離。
那么如何測量兩個圓心之間距離呢?請看下面代碼:
?* 圖片文件見上圖
read_image (Img, 'Holes.bmp')? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? *--? 讀入圖像? ? ? ? ? ?
get_image_size (Img, Width, Height)? ? ? ? ? ? ? ? ? ? ? ? ? * -- 獲取圖像長寬
gen_rectangle1 (ROI_0, 87.9375, 95.8828, 395.503, 438.504)? ? ?*-- 定義區域,覆蓋兩個圓
reduce_domain (Img, ROI_0, ImageReduced)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? *--將區域從原圖中掏出
binary_threshold (ImageReduced, Region, 'max_separability', 'light', UsedThreshold)? ? *--二值化將雙圓突出成一個總區域
connection (Region, ConnectedRegions)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? *-- 將雙圓按照連通性分成兩個獨立區域
area_center (ConnectedRegions, Area, Row, Column)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? *--獲取兩獨立區域的中心,此處正是圓心
distance_pp (Row[0], Column[0], Row[1], Column[1], Distance)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?*--求出兩個圓心的點與點距離
*? Distance就是兩個圓的圓心距離。
?
總結
以上是生活随笔為你收集整理的2021-01-05 Halcon初学者知识【7】 最简单的测距问题-点与点测距的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Halcon初学者知识【5】画若干个圆
- 下一篇: 2021-01-07 Halcon初学者