matlab数字图像处理 入门基础
源图片:Lenna
一、基础操作
1 A = imread ('Lenna.jpg'); %读入图像lena.jpg,赋给变量A 2 3 %imwrite(A,'Lenna.jpeg'); %将图片A另生成jpeg格式 4 5 % size (A); %显示图片A尺寸 6 % whos A; %显示图片A变量信息 7 8 % imfinfo ('Lenna.jpg'); %查看图片A属性信息,如修改日期,大小,存储方式等 9 10 % imshow(A) %显示图片A 11 12 % zoom on %打开图像放缩功能 13 % zoom off %关闭图像放缩功能 14 15 % %不同窗口显示多幅图像 16 % figure; %创建一个新的窗口 17 % imshow(A); %该窗口显示图片A 18 % figure; %又创建一个新的窗口 19 % imshow(B); %该窗口显示图片B 20 21 % %相同窗口显示多幅图像 22 % figure; %创建一个新的窗口 23 % subplot(1,2,1); %打开一个有1行2列图像位置的窗口,并将焦点位于第1个位置上 24 % imshow(A); %显示图片A 25 % subplot(1,2,2); %打开一个有1行2列图像位置的窗口,并将焦点位于第2个位置上 26 % imshow(B); %显示图片B 27 28 29 % %多帧图像显示全部图片 30 % load mri; %载入matlab自带的核磁共振图像 31 % figure; %创建一个新的窗口 32 % montage(D,map); %显示图片D 33 34 % %多帧图像只显示一幅 35 % load mri %载入matlab自带的核磁共振图像 36 % figure; %创建一个新的窗口 37 % imshow (D(:,:,26),map); %显示图片D的第26帧 38 39 % %转化为电影 40 % load mri; %载入matlab自带的核磁共振图像 41 % figure; %创建一个新的窗口 42 % mov=immovie(D,map); %多帧图片输入 43 % colormap(map); %设定颜色表 44 % movie(mov); %播放电影 45 46 % %转化为电影 47 % load mri; %载入matlab自带的核磁共振图像 48 % figure; %创建一个新的窗口 49 % I=immovie(D,map); %多帧图片以电影模式输入变量I 50 % colormap(map); %设定颜色表,可以省略 51 % movie(I); %播放电影I
傻瓜式操作,代码都被我注释掉了,想看哪段效果,把该段的注释符号%去掉即可。
二、调用函数实现边缘检测
1 %对同一副图像分别使用6种边缘检测算法进行处理 2 3 % A = imread('circuit.tif'); 4 A = imread ('cxk.jpg'); %读入图像cxk.jpg,赋给变量A 5 A = rgb2gray(A); 6 7 bw1 = edge(A,'sobel'); 8 bw2 = edge(A,'prewitt'); 9 bw3 = edge(A,'roberts'); 10 bw4 = edge(A,'log'); 11 bw5 = edge(A,'canny'); 12 13 subplot(2,3,1);imshow(A); title('原图'); 14 subplot(2,3,2);imshow(bw3);title('roberts'); 15 subplot(2,3,3);imshow(bw1);title('sobel'); 16 subplot(2,3,4);imshow(bw2);title('prewitt'); 17 subplot(2,3,5);imshow(bw4);title('log'); 18 subplot(2,3,6);imshow(bw5);title('canny');
参考资料:
[1]张铮, 王艳平, 薛桂香. 数字图像处理与机器视觉[M]. 人民邮电出版社, 2010.