回 帖 发 新 帖 刷新版面

主题:图像象素循环

各位亲爱的高手,以下是我写的一个和曲率差不多的公式循环
我想请问以下,这个程序是不是根本不用循环?
是不是直接用象素赋值就可呢?

以下两个函数功能是不是一样?

function  A = div(u,h,lambda);

[m,n]=size(u);
for i=2:m-1
    for j=2:n-1
        
        c11(i,j)=[u(i+1,j)-u(i,j)]/h;
        c12(i,j)=[u(i,j+1)-u(i,j-1)]/(2*h);
        c1(i,j)=1/sqrt(c11(i,j)^2+c12(i,j)^2+1e-6);
        
        c21(i,j)=[u(i,j)-u(i-1,j)]/h;
        c22(i,j)=[u(i-1,j+1)-u(i-1,j-1)]/(2*h);
        c2(i,j) =1/sqrt(c21(i,j)^2+c22(i,j)^2+1e-6);
         
        c31(i,j)=[u(i+1,j)-u(i-1,j)]/(2*h);
        c32(i,j)=[u(i,j+1)-u(i,j)]/h;
        c3(i,j) =1/sqrt(c31(i,j)^2+c32(i,j)^2+1e-6);
        
        c41(i,j)=[u(i+1,j-1)-u(i-1,j-1)]/(2*h);
        c42(i,j)=[u(i,j)-u(i,j-1)]/h;
        c4(i,j) =1/sqrt(c31(i,j)^2+c42(i,j)^2+1e-6);
        
        B(i,j)=[c1(i,j)*c11(i,j)-c2(i,j)*c21(i,j)+c3(i,j)*c32(i,j)-c4(i,j)*c42(i,j)]/(2*lambda*h);
        
    end
end


A = BoundMirrorExpand(B);

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%5




function  A=div(u);


[m,n]=size(u);
h=3;

c11=zeros(m,n);
c12=zeros(m,n);
c11(1:m-1,:)=[u(2:m,:)-u(1:m-1,:)]/h;
c11(m,:)=u(m,:);
c12(:,2:n-1)=[u(:,3:n)-u(:,1:n-2)]/2*h;
c12(:,[1 n])=u(:,[1 n]);
c1=1./sqrt(c11.^2+c12.^2+1e-10);
%figure,imshow(c1,[])


c21=zeros(m,n);
c22=zeros(m,n);
c21(2:m,:)=[u(2:m,:)-u(1:m-1,:)]/h;
c21(1,:)=u(1,:);
c22(:,2:n-1)=[u(:,3:n)-u(:,1:n-2)]/2*h;
c22(:,[1 n])=u(:,[1 n]);
c22(1:m-1,:)=c22(2:m,:);
c22(m,:)=c22(m,:);
c2=1./sqrt(c21.^2+c22.^2+1e-10);
%figure,imshow(c2,[])

c31=zeros(m,n);
c32=zeros(m,n);
c31(2:m-1,:)=[u(3:m,:)-u(1:m-2,:)]/2*h;
c31([1,m],:)=u([1,m],:);
c32(:,1:n-1)=[u(:,2:n)-u(:,1:n-1)]/h;
c32(:,n)=u(:,n);
c3=1./sqrt(c31.^2+c32.^2+1e-10);
%figure,imshow(c3,[])

c41=zeros(m,n);
c42=zeros(m,n);
c41(2:m-1,:)=[u(3:m,:)-u(1:m-2,:)]/2*h;
c41([1 m],:)=u([1 m],:);
c41(:,1:n-1)=c41(:,2:n);
c41(:,n)=c41(:,n);
c42(:,2:n)=[u(:,2:n)-u(:,1:n-1)]/h;
c42(:,1)=u(:,1);
c4=1./sqrt(c41.^2+c42.^2+1e-10);
%figure,imshow(c4,[])



a1=c11.*c1;
a2=c21.*c2;
a3=c32.*c3;
a4=c42.*c4;
A=(a1-a2+a3-a4)/h;
%figure,imshow(A)



回复列表 (共1个回复)

沙发

太复杂,肯定可以简化

我来回复

您尚未登录,请登录后再回复。点此登录或注册