• 大小: 169KB
    文件类型: .rar
    金币: 2
    下载: 1 次
    发布日期: 2021-06-07
  • 语言: Matlab
  • 标签: 边缘检测  

资源简介

Matlab实现基于Zerniek矩的亚像素边缘检测

资源截图

代码片段和文件信息

function M=Caculatemask(zN)
%计算Zerniek模板
%M:模板
%z:径向多项式
%N:模板大小
%例
% syms x y;
% M00=caculatemask(x7);
% M11=caculatemask(x-y*i7);
% M20=caculatemask(2*x^2+2*y^2-17);
syms x y
M=zeros(NN);
[XY]=meshgrid(1:N1:N);
xx=(2.*X-N-1)/N;
yy=(N+1-2.*Y)/N;
inc=1/N;
%中间
for row=2:N-1
    for col=2:N-1
        x1=xx(rowcol)-inc;
        x2=xx(rowcol)+inc;
        y1=yy(rowcol)-inc;
        y2=yy(rowcol)+inc;
        M(rowcol)=vpa(int(int(zyy1y2)xx1x2)4);
    end
end
%上5
for col=2:N-1
    x1=xx(1col)-inc;
    x2=xx(1col)+inc;
    y1=yy(1col)-inc;
    y2=sqrt(1-x^2);
    M(1col)=vpa(int(int(zyy1y2)xx1x2)4);
end
%下5
for col=2:N-1
    x1=xx(Ncol)-inc;
    x2=xx(Ncol)+inc;
    y1=-sqrt(1-x^2);
    y2=yy(Ncol)+inc;
    M(Ncol)=vpa(int(int(zyy1y2)xx1x2)4);
end
%左5
for row=2:N-1
    x1=-sqrt(1-y^2);
    x2=xx(row1)+inc;
    y1=yy(row1)-inc;
    y2=yy(row1)+inc;
    M(row1)=vpa(int(int(zxx1x2)yy1y2)4);
end
%右5
for row=2:N-1
    x1=xx(rowN)-inc;
    x2=sqrt(1-y^2);
    y1=yy(rowN)-inc;
    y2=yy(rowN)+inc;
    M(rowN)=vpa(int(int(zxx1x2)yy1y2)4);
end

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       1187  2016-01-29 12:59  EdgeDetecion\Caculatemask.m

     文件       2327  2016-01-29 16:44  EdgeDetecion\Edgedectect.m

     文件     263224  2016-01-26 10:13  EdgeDetecion\Lena.bmp

     文件        272  2016-01-29 13:07  EdgeDetecion\Radialpoly.m

     文件        141  2016-01-29 21:37  EdgeDetecion\test.m

     文件        459  2016-01-29 13:07  EdgeDetecion\Zernikmoment.m

     目录          0  2016-01-29 21:40  EdgeDetecion

----------- ---------  ---------- -----  ----

               267610                    7


评论

共有 条评论