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