声振论坛

 找回密码
 我要加入

QQ登录

只需一步,快速开始

查看: 851|回复: 2

[编程技巧] 请教一下我这个程序哪里有错误~

[复制链接]
发表于 2007-5-14 15:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?我要加入

x
function(f1,f2)=match(01.jpg,02.jpg);
f1=001.jpg;
f2=002.jpg;
f1=double(rgb2gray(imread('01.jpg')));
f2=double(rgb2gray(imread('02.jpg')));
histeq(f1);
histeq(f2);
[M1,N1]=size(Mx);
[M2,N2]=size(My);
Mx=[1 2 1,0 0 0,-1 -2 -1];
My=[-1 0 1,-2 0 2,-1 0 1];
Sx(1,:)=Y(1,:);
Sx(:,1)=Y(:,1);
     for i=2:m-1
         for j=2:n-1
     Sx(i,j)=Y(i-1,j-1)+2Y(i-1,j)+Y(i-1,j+1)-Y(i+1,j-1)-2Y(i+1,j)-Y(i+1,j+1)
     Sy(i,j)=-X(i-1,j-1)+X(i-1,j+1)-2X(i,j-1)+2X(i,j+1)-X(i+1,j-1)+X(i+1,j+1)
        end
    end   
    for i=1:m
      if d=2
      S(i,j)=YSx(i,j)^2+XSy(i,j)^2/2d
      end
    end
      for i=1:m
          j=1:n
          if abs(S(i,j))<1
             W(i,j)=1-2abs(S(i,j))^2+abs(S(i,j))^3
          else if   1<=abs(S(i,j))&abs(S(i,j))<=2
                    W(i,j)=4-8abs(S(i,j))+5abs(S(i,j))^2-abs(S(i,j))^3
          else if   abs(S(i,j))>2
                    W(i,j)=0
                   end
                end
            end
        end
回复
分享到:

使用道具 举报

发表于 2007-5-14 17:02 | 显示全部楼层
记得eight好像已经回答过类似问题了。
修改了一下,你自己运行一下,看看是否正确。
希望以后多搜索论坛。
%%%%%%%%%%%%%%%%%%%
function [f1,f2]=match()  %你的输出变量可能有问题
% f1=imread(001.jpg);
% f2=imread(002.jpg);
f1=double(rgb2gray(imread('01.jpg')));
f2=double(rgb2gray(imread('02.jpg')));
histeq(f1);
histeq(f2);
[M1,N1]=size(Mx);
[M2,N2]=size(My);
Mx=[1 2 1,0 0 0,-1 -2 -1];
My=[-1 0 1,-2 0 2,-1 0 1];
Sx(1,:)=Y(1,:);
Sx(:,1)=Y(:,1);
     for i=2:m-1
         for j=2:n-1
     Sx(i,j)=Y(i-1,j-1)+2Y(i-1,j)+Y(i-1,j+1)-Y(i+1,j-1)-2Y(i+1,j)-Y(i+1,j+1)
     Sy(i,j)=-X(i-1,j-1)+X(i-1,j+1)-2X(i,j-1)+2X(i,j+1)-X(i+1,j-1)+X(i+1,j+1)
        end
    end   
    for i=1:m
      if d=2
      S(i,j)=YSx(i,j)^2+XSy(i,j)^2/2d
      end
    end
      for i=1:m
          j=1:n
          if abs(S(i,j))<1
             W(i,j)=1-2abs(S(i,j))^2+abs(S(i,j))^3
          else if   1<=abs(S(i,j))&abs(S(i,j))<=2
                    W(i,j)=4-8abs(S(i,j))+5abs(S(i,j))^2-abs(S(i,j))^3
          else if   abs(S(i,j))>2
                    W(i,j)=0
                   end
                end
            end
        end

[ 本帖最后由 xjzuo 于 2007-5-14 17:26 编辑 ]

评分

1

查看全部评分

 楼主| 发表于 2007-5-14 20:09 | 显示全部楼层

谢谢!

谢谢版主
您需要登录后才可以回帖 登录 | 我要加入

本版积分规则

QQ|小黑屋|Archiver|手机版|联系我们|声振论坛

GMT+8, 2024-10-3 08:26 , Processed in 0.053875 second(s), 18 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表