我刚刚开始学习 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/