matlab如何提取亚像素边缘点,matlab – 几乎垂直边缘的亚像素边缘检测

一种简单的方法是垂直投影图像,并使用适当的函数拟合投影轮廓.

这是一个尝试,具有atan形状:

% Load image

Img = double(imread('bQsu5.png'));

% Project

x = 1:size(Img,2);

y = mean(Img,1);

% Fit

f = fit(x', y', 'a+b*atan((x0-x)/w)', 'Startpoint', [150 50 10 150])

% Display

figure

hold on

plot(x, y);

plot(f);

legend('Projected profile', 'atan fit');

结果如下:

我的第一张图片得到x_0 = 149.6像素.

但是,我怀疑你能用这些图像实现1/100像素的亚像素精度,原因如下:

>正如您在配置文件中看到的那样,您的白人已经饱和(灰度级为255).当你削减真正的atan轮廓时,合身是有偏见的.如果您可以控制实验,我建议您再次使用较小的曝光时间再次进行实验.

>转换的要点并不多,因此关于转换的位置的信息并不多.通常,您的分辨率将是atan宽度的平方根(或您喜欢的任何形状).在您的情况下,这将子像素分辨率限制在1/5像素,最多.

最后,你的边缘不是严格垂直的,它们略微标题.如果您选择使用此投影方法,为了提高精度,您应该在投影前寻找纠正此倾斜的方法.但是,这不会使您的准确度提高几个数量级.

最好,

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值