射天狼 发表于 2006-6-28 18:36

[原创]自己编的一个拼图程序

这两天着迷goolge earth抓图,编写了一个拼图的程序,主要是用到了imread imwrite和对话框几个知识点,很简单的。

% try color map computer
%http://matlabspace.diy.myrice.com/webfiles/kidding/sp_01.htm
=uigetfile('*.bmp','选择要打开的第一个图像文件')
if ~any(p) ,return,end
act=['x=imread(''' filepath p ''',''bmp'');'];
eval(act)
x=double(x);
=uigetfile('*.bmp','选择要打开的第二个图像文件')
if ~any(p) ,return,end
act=['y=imread(''' filepath p ''',''bmp'');'];
eval(act)
prompt={'输入向左移动的像素个数'};
def={'125'};
dlgTitle='拼图';
lineNo=1;
answer=inputdlg(prompt,dlgTitle,lineNo,def);
use=answer{1};
imove=sscanf(use,'%f');
y=double(y);
=size(x);
=size(y);
nn=n+n2-imove;
nmid=int2str(nn);
nn=str2num(nmid);
%nn=uint8(nn);
nstar=nn-n2+1;
u=ones(m,nn,z);
u(1:end,1:n,1:end)=x(1:end,1:end,1:end);
u(1:end,nstar:end,1:end)=y(1:end,1:end,1:end);
u=uint8(round(u));
%i2=imcrop(x,);
imove=2*imove;
nn=nstar-imove;

uu=imcrop(u,[ nn 1 2*imove m ]);
figure(1)
image(uu)
daspect()

ButtonName=questdlg('您是否接受图片拼接的结果?', ...
                         '拼图', ...
                         '是保存结果','不重新拼图','是保存结果');
switch ButtonName,
case '是保存结果',
         disp('write in file');
=uiputfile('*.bmp','选择要保存的图像文件')
if ~any(filename) ,return,end
f=findstr(filename,'.bmp')
if ~any(f)
filename=
end
filename
usepath=
act=['imwrite(u,''' usepath ''',''bmp'');'];
%act=['save ',path,' lonlat']
eval(act)
%imwrite(u,'caotry.bmp','bmp')
ok='保存文件成功';
disp(ok)
         
       case '不重新拼图',

         disp('star again')
       return
   end

[ 本帖最后由 suffer 于 2006-10-9 21:05 编辑 ]

liwensheng 发表于 2006-11-12 13:08

不行呀,运行不了

suffer 发表于 2006-11-13 10:25

原帖由 liwensheng 于 2006-11-12 13:08 发表
不行呀,运行不了

运行没有什么问题

如果不行的话请说明错误信息

lf51999 发表于 2007-6-11 17:31

filepath =

D:\WindowsXP Document\Document-FLiu\

??? Attempt to reference field of non-structure array.

Error in ==> imagesci\private\readbmp at 17
map = info.Colormap;

Error in ==> imread at 389
    = feval(fmt_s.read, filename, extraArgs{:});

yelv123 发表于 2007-6-11 18:37

我运行结果如下,也不行啊

filepath =

D:\applications\matlab71\work\

??? Attempt to reference field of non-structure array.

Error in ==> imagesci\private\readbmp at 17
map = info.Colormap;

Error in ==> imread at 308
    = feval(fmt_s.read, filename, extraArgs{:});

guaike1314 发表于 2007-7-14 09:45

??? Subscripted assignment dimension mismatch
貌似我这个错误是最低级的个错误吧?可额是个新手哦,看不明白
页: [1]
查看完整版本: [原创]自己编的一个拼图程序