VisionPro 卡尺测量长度的例子

时间:2024-03-09 18:40:22

选择图片。

image.png

用两个卡尺寸,分别取底边与顶边。

然后用点到点的距离工具取距离,求出来没有标定之前是像素。

image.png

卡尺寸的参数。

image.png

卡尺的选择框,实心的箭头代表搜索方向。

image.png

由于程序中使用顶边与底边的起始点计算距离,因此要把起始点位置设置为一样,非则结果不对。

image.png

修改一下,让两者的x值一样。

image.png

这样改好后,结果是752.679,和上面的错误结果是不同的。

image.png

都说visionPro的卡尺很牛,勇哥暂时没感觉它牛在哪里?

首先,参数极少,也就是个边缘极性和阈值。

再一个,似乎没有生成拟合线的点。

然后还有一个问题,如下图:

注意看箭头所示的位置,生成的拟合线根本没有贴着电池的边走。

我感觉这种测量的任务是不是应该用找线工具,而不是卡尺工具?

image.png

果然,试了一下找线工具,确实是多组卡尺够成的一个组合体。

相当于每个卡尺生成一个点。

image.png

image.png

在找线的选择框中,拉动中间那根线的长度,可以改变卡尺数量。

那个箭头可以改变搜索方向,鼠标按住它可以旋转整个选择框。

image.png

选择LastRun查看找线的结果。

image.png

可以看到结果很好。如同参数上设置的,卡尺数量11,点的数量就有11个。

image.png

放大观察一下。我们会观察到捕捉的点有亚像素精度的处理。

即一个点的位置可以小于1个像素,它是一个浮点数而不是一个整数,下图中一个方块是一个像素,而十字不位于方块中心,而是在其1/N的位置,因此证明这个点在处理的时候考虑了亚像素精度。

勇哥学习openCV的时候,知道它的一些算子,处理精度则为像素级,就不是亚像素精度了。

image.png