找到垂直于轮廓的直线

时间:2016-07-27 14:02:25

标签: matlab image-processing binary-image

我正在使用Matlab中的图像分割。

我需要找到一条垂直于一组点的直线,以计算该直线与该组点之间的最大距离。
以下是问题的一个例子:

Example of image

红点代表轮廓的凹度,该点是从轮廓的曲率中找到的。

手动绘制黑线和绿点,这是线的极限,以显示我正在寻找的结果。

找到线后,下一个任务是计算线与以黄色突出显示的轮廓部分之间的最大距离。

有人可以建议一个可能的解决方案吗?

1 个答案:

答案 0 :(得分:0)

要绘制一条线,你只需要在那一点得到函数的导数,就像你可能记得的基本代数一样。

你可以用有限的差异来做,但我建议你使用超过2个点,比如5或7来近似那个点的导数。然后绘制线条就像

一样简单
y-y0=f'(x) (x-x0)

其中y0,x0是点本身。由于您没有轮廓的函数表示,要计算线与轮廓的截面,最好的方法是用数字方式检查它。

此外,您可以使用轮廓及其内部的所有内容创建二进制图像,然后使用improfile在行中但在白色斑点之外的点。当值等于1时,路径上的线的积分将是轮廓内线的总长度。

编辑:我误读了,虽然你想要距离线路。点和线之间的距离是基本代数,谷歌是你的油炸

相关问题