图像处理与分析实习内容
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
图像处理与分析
实习报告
学院:信息工程学院
专业:摄影测量与遥感
姓名:王新
学号: 120111267
第一部Matlab图像操作
(1)用Matlab的图像文件读取函数imread,熟练掌握对不同图像的格式进行读取。用Matlab的图像显示函数对不同的图像数据加以显示。掌握bmp/tiff/jpeg 三种常用图像文件格式,举例说明三种文件格式的适用场合。
步骤:
以tif格式图片的读取与显示为例:
>>I1=imread(‘F:\MATLAB701\toolbox\images\imdemos\cameraman.tif’);
%读取cameraman.tif
>>imshow(I1); %显示cameraman.tif
bmp和jpeg格式的图像的读取与显示类似。
三种文件格式的适用场合:
1)BMP:BMP文件格式是Windows环境中交换与图有关的数据的一种标准,因此在Windows环境中运行的图形图像软件都支持BMP图像格式,但是不受Web 浏览器支持。
2)TIFF:TIFF图像文件是由Aldus和Microsoft公司为桌上出版系统研制开发的一种较为通用的图像文件格式,适用于在应用程序之间和计算机平台之间的交换文件,是文档图像和文档管理系统中的标准格式。它的出现使得图像数据交换变得简单。TIFF 可以被认为是印刷行业中受到支持最广的图形文件格式。TIFF 支持可选压缩,不适用于在 Web 浏览器中查看。
3)JPEG:JPEG是一种支持8位和24位色彩的压缩位图格式,适合在网络上传输,是非常流行的图形文件格式,是可以把文件压缩到最小的格式。JPEG格式的应用非常广泛,特别是在网络和光盘读物上,都能找到它的身影。目前各类浏览器均支持JPEG这种图像格式。JPEG不适用于所含颜色很少、具有大块颜色相近的区域或亮度差异十分明显的较简单的图片。
(2)图像变换。完成输入图像的平移、缩放、旋转的编码实现。若调用他人库函数,要求掌握各几何变换的实现算法过程。
1)平移
F=imread('p2.bmp');
se = translate(strel(1), [10 20]);
%参数[10 20]可以修改,修改后平移距离对应改变
J = imdilate(F,se);
figure;
imshow(J,[]);title('右移后图形');
2)缩放
I=imread('D:\MATLABSETUP\toolbox\images\imdemos\cameraman.tif');
J1=imresize(I,0.2);%缩放为0.2倍
figure,imshow(J1);
3)旋转
I = imread('D:\MATLABSETUP\toolbox\images\imdemos\cameraman.tif'); figure,imshow(I);
theta = 30; %旋转角度为30度
K = imrotate(I,theta);
figure, imshow(K)
(3)图像增强。用均值平滑滤波、中值滤波对含有噪声的图像进行增强。
1)均值滤波
I = imread('D:\MATLABSETUP\toolbox\images\imdemos\cameraman.tif'); figure,imshow(I);
J=filter2(fspecial(‘average’,3),I)/255;
figure,imshow(J);
2)中值滤波
I = imread('D:\MATLABSETUP\toolbox\images\imdemos\cameraman.tif'); figure,imshow(I);
J=medfilt2(I,[5,5]);
figure,imshow(J);
(4)边缘提取.分别使用MATLAB中的prewitt/canny/roberts/sobel/zerocorss 其中边缘提取方法对同一幅影像进行边缘提取,查看相应的结果,并将其进行比较,具体分析几种边缘提取方法各自的特点,在实习报告中对每一种提取方法的原理进行详细的介绍。
I=imread('D:\MATLABSETUP\toolbox\images\imdemos\cameraman.tif');
J1=edge(I,'prewitt');
J2=edge(I,'canny');
J3=edge(I,'roberts');
J4=edge(I,'sobel');
J5=edge(I,'log');
J6=edge(I,'zerocross');
figure,imshow(J1);
figure,imshow(J2);
figure,imshow(J3);
figure,imshow(J4);
figure,imshow(J5);
figure,imshow(J6);
第二部分编程题要求运用VC编程工具编程实现(全部完成得30分)
1编程实现图像直方图规定化的单映射与组映射,对书中p65的3.8计算两种映射结果。
2运用Sobel算子和Susan算子检测边缘,比较两者在检测边缘时的性能。(加
上SUSAN算子边缘方向是怎样检测的)
3运用Snake算子检测图像上的轮廓,画出程序框架,讨论内部能量系数与外部能量系数对边缘轮廓检测的影响。