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