選擇圖片。
用兩個卡尺寸,分別取底邊與頂邊。
然后用點到點的距離工具取距離,求出來沒有標定之前是像素。
卡尺寸的參數。
卡尺的選擇框,實心的箭頭代表搜索方向。
由於程序中使用頂邊與底邊的起始點計算距離,因此要把起始點位置設置為一樣,非則結果不對。
修改一下,讓兩者的x值一樣。
這樣改好后,結果是752.679,和上面的錯誤結果是不同的。
都說visionPro的卡尺很牛,勇哥暫時沒感覺它牛在哪里?
首先,參數極少,也就是個邊緣極性和閾值。
再一個,似乎沒有生成擬合線的點。
然后還有一個問題,如下圖:
注意看箭頭所示的位置,生成的擬合線根本沒有貼着電池的邊走。
我感覺這種測量的任務是不是應該用找線工具,而不是卡尺工具?
果然,試了一下找線工具,確實是多組卡尺夠成的一個組合體。
相當於每個卡尺生成一個點。
在找線的選擇框中,拉動中間那根線的長度,可以改變卡尺數量。
那個箭頭可以改變搜索方向,鼠標按住它可以旋轉整個選擇框。
選擇LastRun查看找線的結果。
可以看到結果很好。如同參數上設置的,卡尺數量11,點的數量就有11個。
放大觀察一下。我們會觀察到捕捉的點有亞像素精度的處理。
即一個點的位置可以小於1個像素,它是一個浮點數而不是一個整數,下圖中一個方塊是一個像素,而十字不位於方塊中心,而是在其1/N的位置,因此證明這個點在處理的時候考慮了亞像素精度。
勇哥學習openCV的時候,知道它的一些算子,處理精度則為像素級,就不是亞像素精度了。