我想从给定的下图中实现什么
- 以 A 点为原点的 A、B、C 和 D 点的坐标。
- 事实上有lineAB,AC,BC和AD。
- 事实点 D 在线 AB
点 id 并不重要,只要它可以检测到这些位置有点并且它们之间有线即可。OpenCV 会帮助我实现这一目标吗?如果是这样,你能更具体一点吗?
非常感谢。
我想从给定的下图中实现什么
点 id 并不重要,只要它可以检测到这些位置有点并且它们之间有线即可。OpenCV 会帮助我实现这一目标吗?如果是这样,你能更具体一点吗?
非常感谢。
正如乔所说的霍夫变换会帮助你,我知道 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