3

我想从给定的下图中实现什么 三角形

  1. 以 A 点为原点的 A、B、C 和 D 点的坐标。
  2. 事实上有lineAB,AC,BC和AD。
  3. 事实点 D 在线 AB

点 id 并不重要,只要它可以检测到这些位置有点并且它们之间有线即可。OpenCV 会帮助我实现这一目标吗?如果是这样,你能更具体一点吗?

非常感谢。

4

1 回答 1

1

正如乔所说的霍夫变换会帮助你,我知道 openCV 会帮助你,但我以前从未使用过它,这是我编写的一个简单的 Matlab 代码,用于提取线和点的坐标。

f=imread("your image without piont ID"); 
f=rgb2gray(f);              
fb=im2bw(f,graythresh(f));  

[H,T,R] = hough(not(fb),'RhoResolution',0.5,'Theta',-90:0.5:89.5); 
peaks=houghpeaks(H,4,'threshold',ceil(0.3*max(H(:))));      


lines = houghlines(not(fb),T,R,peaks); %this will give u start and end point of lines, Rho and tetha (x*cos(tetha)+y*sin(tetha)=Rho) now you can answer to all of your questions 

http://en.wikipedia.org/wiki/Hough_transform

于 2013-05-13T22:00:01.063 回答