c++ - OpenCV:找到照片中直线交点的坐标

标签 c++ opencv vision

我刚刚开始学习 OpenCV 编程。我想知道是否可以从这张照片中获取线(静脉)交叉点的坐标。

http://mormometricanalysis.wu.cz/photo.JPG

在照片中用红色标记了需要的点。我想计算线之间的角度、线的长度和面积——下面的例子。

http://mormometricanalysis.wu.cz/

我已经对这个问题做了一些研究。但大多数示例都是关于在二值图像中查找线条的——我不知道我是否可以在 OpenCV 中从这张照片中制作出高质量的二值图像。点坐标的计算应尽可能精确。

OpenCV 中是否有任何功能可以做到这一点?你知道如何解决这个问题吗?

预先感谢您的回答。

最佳答案

我必须传递查找交集部分,但为了获得二值图像,您的第一步应该如下:

阈值图像。如果对比度始终与示例中一样高,这应该可以正常工作。或者尝试边缘检测。

至于找到适合静脉的线条,我有一个模糊的想法。让我试着用文字来表达:

  • 尝试在二值图像中找到高密度区域并确定中心[x1,y1]。
  • 定义一条直线,在该区域的中心有一个固定点 f(x-x1) = m*x + y1
  • 通过改变 m 来旋转线条,并优化线条的二值图像与静脉的二值图像之间的最大相关性
  • 当您找到相关性的最大值时,切掉与静脉实际重叠的线段
  • 对下一个高密度中心重复

这可能/应该给你一堆参数化定义的线,你可以在其中轻松确定交叉点和角度。

关于c++ - OpenCV:找到照片中直线交点的坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12529205/

相关文章:

python - 从 BGR 到灰度的 OpenCV 颜色转换错误

opencv - 相机平移时的单应性(用于拼接)

image-processing - minMaxLoc 最大值混淆

opencv - 如何在 Qt Resorce 文件中添加 Opencv XML 文件或将其包含在 exe 文件中?

C++,如何在派生类中调用基类的重载提取运算符?

c++ - 为什么 std::array 没有一个构造函数来为要填充的数组取一个值?

C++ 未初始化的类实例数组

python - cv2.矩形 : TypeError: Argument given by name ('thickness' ) and position (4)

c++ - OpenCV 1.1 高维空间中的 K-Means 聚类

与 CMake 链接的 C++ 动态和静态库