参考文献
[1] 章毓晋.图像工程上册——图像处理和分析[M].北京:清华大学出版社,1999.3 [2] 章毓晋.图像工程下册——图像理解与计算机视觉[M].北京:清华大学出版社,2000.8 [3] 张兆礼,赵春晖,梅晓丹.现代图像处理技术[M].北京:人民邮电出版社,2001.1l
[4] 陈桂明,张明照,戚红雨.应用MATLAB语言处理数字信号与数字图像[M].北京:科学出版社,2000.1 [5] 朱振武.例谈几何变换的应用[J]. 安庆师范学院学报(自然科学版). 2009(03) [6] 谢荷芳.二维图形的几种几何变换[J]. 中南民族学院学报(自然科学版).1998(03) [7] 王昕娅,侯萌萌.平面图形的几何变换[J]. 大学数学. 2003(05)
[8] 刘越.img图像的读取及其几何变换处理[J]. 佳木斯大学学报(自然科学版). 2010(04) [9] 杜廷娜.图像空间变换及MATLAB实现[J]. 鞍山科技大学学报. 2007(04) [10] 李迎春,曾峦,丁向丽.图像的几何运算方法[J]. 指挥技术学院学报. 2000(01)
13
附录
1、平移程序:
[filename,pathname]=...
uigetfile({'*.bmp';'*jpg';'*.gif'},'图像选择'); str=[pathname,filename]; global image; global dai; image=imread(str); dai=image;
axes(handles.axes1); imshow(image); axes(handles.axes2); imshow(image);
set(handles.radiobutton1,'value',1); set(handles.radiobutton2,'value',0); set(handles.radiobutton3,'value',0); set(handles.radiobutton4,'value',0); set(handles.radiobutton5,'value',0); global dai;
se=translate(strel(1),[40 -40]); b=imdilate(dai,se); axes(handles.axes2); imshow(b); h=gcf; main; close(h);
以下程序返回与打开文件程序相同,只加入主要程序(选项程序与主程序相似):
2、缩放程序:
set(handles.radiobutton1,'value',1); set(handles.radiobutton2,'value',0); set(handles.radiobutton3,'value',0); global dai; g=imresize(dai,1); axes(handles.axes2);
set(handles.axes2, 'Units', 'pixels'); [x,y]=size(g);
14
set(gca,'position',[350 237 y x]) imshow(g);
方法二: global dai;
axes(handles.axes2); imshow(dai); I=getimage;
prompt=('缩放度数'); defans={'0'};
p=inputdlg(prompt,'input',1,defans); p1=str2num(p{1});
f=imresize(dai,p1,'nearest');
set(handles.axes2, 'Units', 'pixels'); [x,y]=size(f);
set(gca,'position',[350 277 y x]) imshow(f);
3、旋转程序:
set(handles.radiobutton1,'value',1); set(handles.radiobutton2,'value',0); set(handles.radiobutton3,'value',0); set(handles.radiobutton4,'value',0); global dai;
dai=imrotate(dai,45); axes(handles.axes2); imshow(dai);
方法二: global dai;
axes(handles.axes2); imshow(dai); I=getimage;
prompt=('旋转角度'); defans={'0'};
p=inputdlg(prompt,'input',1,defans); p1=str2num(p{1});
f=imrotate(dai,p1,'nearest'); imshow(f);
4、镜像程序:
15
set(handles.radiobutton1,'value',1); set(handles.radiobutton2,'value',0); set(handles.radiobutton3,'value',0); global dai;
axes(handles.axes2); k=fliplr(dai); imshow(k);
5、错切程序:
set(handles.radiobutton5,'value',1); set(handles.radiobutton6,'value',0); set(handles.radiobutton7,'value',0); global dai;
axes(handles.axes2);
s=maketform('affine',[1 0.5 0;0 1 0;0 0 1]); j=imtransform(dai,s); imshow(j);
16