我一直试图在图像中找到抛物线.为了起始目的,我在白色背景上拍摄了带有黑色抛物线的图像.然后我使用find命令在图像上找到了黑色像素
[yi xi] = find(im<10); % im is the image with black parabola and white background
之后,我从集合中随机取3分并使用符号工具箱解决了抛物线的等式
syms x y;
%solve them for the parabola equation
A = [ x^2 x y 1 ;x0^2 x0 y0 1; x1^2 x1 y1 1; x2^2 x2 y2 1];
哪里
%(x0,y0) = (104,137)
%(x1,y1) = (244,161)
%(x2,y2) = (300,229)
S = solve(det(A),y);
然后我得到系数a,b,c as
a = 0.0100
b = -1.6800
c = 254.1900
其中a,b和c是
a*x^2 + b*x + c = y;
从现在开始我已经得到了eqn,我通过设置系数值来绘制抛物线
并采取
xx = 1:300;
yy = a*xx.^2 + b*xx +c ;
然后我在图像上绘制抛物线
plot(xx,yy,'-');
为了确认我已经采用了正确的点,我还绘制了图像上的选定点,它们恰好位于图像中的抛物线上.所以这不是问题.
问题是:
>我绘制的抛物线(蓝色)不在图像的抛物线上(黑色).
>当