早上好,我会解释我的问题。 我想获得一条通过像素点的曲线。坦克中自由水面的Canny边缘的位置(晃动的问题),接下来我可以在XY平面上的曲线上自由工作(例如,比较2条曲线并加上或减去它们)。
我尝试过功能" Poly3"在这里:
I = imread('20jh1g2.jpg');
I = im2bw(I);
imshow(I);
[r, c] = find(I);
r = -r + size(I,1);
figure;
plot(c,r,'.');
hold on;
f = polyfit(c, r, 3);
plot((min(c):max(c)),polyval(f,(min(c):max(c))), 'red', 'LineWidth', 3);
但如果表面更复杂,那么近似值可能太大了。 (高振动)。
是否有将每个像素连接到下一个像素的功能?我读过关于"样条函数"的内容。但我不明白如何使用它,如果它是解决方案。
这是我感兴趣的二元边缘的一个例子:http://i62.tinypic.com/23to3rq.png
如何使用Matlab"准确再现"相同的轮廓(没有气泡),没有近似值?我希望我澄清了我的概念。
谢谢大家的帮助:)