python - 轮廓中点之间的距离opencv

标签 python opencv computer-vision

我正在尝试开发一种解决方案,以分割角膜断层扫描,并检查角膜和隐形眼镜之间的距离。为此,我对图像进行了阈值处理并提取了最大的3个轮廓,其中一个是角膜,另一个是晶状体的内部和外部边缘。
Image contours

我需要检查沿图像中x轴的绿色轮廓和红色轮廓之间的距离。

我试图在OpenCV中检查轮廓距离,但没有找到任何东西。

最佳答案

该答案说明了如何找到红线和绿线之间的径向距离。我已经手动编辑了图像,以便仅考虑图像的相关部分。

Image with non-relevant parts removed.

第一步是找到描述镜片曲线(红线)的函数。 Scipy可以从数据中查找功能。 Scipy.interp1d()从红线的轮廓中找到了函数(青色):

Curve

接下来,我可以找到从绿线(角膜的轮廓)到曲线上最近的点的距离:

Nearest

关于python - 轮廓中点之间的距离opencv,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54186399/

相关文章:

c++ - OpenCV 调整大小不是 cv 的成员(OpenCV 基础知识)

visual-c++ - 如何从文件夹中访问多个图像

python - 如何访问 Python 父类(super class)的属性,例如通过 __class__.__dict__?

python - 通过多个字符串选择 pandas 列

python - 如何清理数据库,使用 sqlalchemy 删除所有记录?

c++ - 如何使用 OpenCV 在 C++ 中实现高效的 im2col 函数?

machine-learning - 如何计算 tensorflow 中的单位方差?

python - 如何找到一个包含特定字符串和最大数字的对象?

c++ - 带掩码的 OpenCV 阈值

python - OpenCV Python 检测多尺度