MATLAB编程-Foerstner算子计算角点

10 篇文章 3 订阅
10 篇文章 0 订阅

1、程序结果

2、Foerstner算子原理

算子是通过计算各像素的Robert's梯度值和以像素为中心的一个窗口的灰度协方差矩阵 , 在图像中寻找具有尽可能小而接近圆的误差椭圆的点作为特征点 。 它能给 出特征点的类型且精度较高,所 实际中应用比较广泛.

[+v  matlab56 沟通技术问题]   

3、程序

disp('Calling ip_fop ...');[win, corner, circ, noclass]=ip_fop( ...
    g,                                       ... intensity image (one channel, grey-level image)
    'DETECTION_METHOD',        'foerstner',  ... method for optimal search window: 'foerstner' (default) or 'koethe'   
    'SIGMA_N'                  ,1.0,         ... standard deviation of (constant) image noise (default: 2.0)
    'DERIVATIVE_FILTER'        ,'gaussian2d',... filter for gradient: 'gaussian2d'(default) oder 'gaussian1d'
    'INTEGRATION_FILTER'       ,'gaussian',  ... integration kernel: 'box_filt' (default) oder 'gaussian' 
    'SIGMA_DERIVATIVE_FILTER'  ,0.7,         ... size of derivative filter (sigma) (default: 1.0)
    'SIGMA_INTEGRATION_FILTER' ,2,           ... size of integration filter (default: 1.41 * SIGMA_DIFF)
    'PRECISION_THRESHOLD'      ,0.5,         ... threshold for precision of points (default: 0.5 Pixel)    
    'ROUNDNESS_THRESHOLD'      ,0.3,         ... threshold for roundness (default: 0.3)
    'SIGNIFICANCE_LEVEL'       ,0.999,       ... significance level for point classification (default: 0.999)
    'VISUALIZATION'            ,'on');       ... visualization on or off (default : 'off')% 输出:disp('Results:');% a) integer positions of window centersdisp('Positions of window centers (actually were integers in the internally scaled image):');for i=1:length(win)
    fprintf('%5.1f   %5.1f\n',win(i).r,win(i).c);end% b) subpixel positions of corners with covariance matrixdisp('Subpixel positions of corners with covariance matrix');for i=1:length(corner)
    r=corner(i).r
    c=corner(i).c
    cov=corner(i).covend% c) subpixel positions of circular points with covariance matrixdisp('Subpixel positions of circular points with covariance matrix:');for i=1:length(circ)
    r=circ(i).r
    c=circ(i).c
    cov=circ(i).covend% d) window centers of points with could not be classified unambiguously  disp('Window centers of points with could not be classified unambiguously:');for i=1:length(noclass)
    r=noclass(i).r
    c=noclass(i).c    end
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值