matlab数字图像处理实验报告,数字图像处理实验报告(完整版)..doc
数字图像处理实验报告(完整版).
数字图像处理
实验一 Matlab数字图像处理初步1.通过imread( )函数读取一张图像,并假设文件名为.tif将其存储到一个数组中;
2.利用whos 命令提取该读入图像flower.tif的基本信息;
3.利用imshow()函数来显示这幅图像;
源代码:
I=imread('lily.tif')
whos I
imshow(I)
二、压缩图像
4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;
5.通过调用 imwrite() 函数来对图片进行压缩处理,并将其以压缩后的 jpg 格式保存。具体语法为:通过调用 imwrite 函数,并将输入的原始图像指定为输入参数 ... ,并将输出图片命名为 ... ,并设置 'quality' 属性值 q(范围 0-100)。
同样地利用imwrite()函数将tif图象命名为f.bmp图像
7.用imread()读入图像和;
8.用imfinfo()获取图像和的大小;
9.用figure,imshow()分别将和显示出来,观察两幅图像的质量。
源代码:
4~6(接上面两个) >>I=imread('lily.tif')
imfinfo 'lily.tif';
imwrite(I,'lily.jpg','quality',20);
imwrite(I,'lily.bmp');
7~9 >>I=imread('Sunset.jpg');
J=imread('Winter.jpg')
imfinfo 'Sunset.jpg'
imfinfo 'Winter.jpg'
figure(1),imshow('Sunset.jpg')
figure(2),imshow('Winter.jpg')
三、二值化图像
通过im2bw函数将输入的灰度图像转换为二值图像后,并结合imshow命令展示该图像是如何体现其特性
实验结果如下图:
源代码:
I=imread('lily.tif')
gg=im2bw(I,0.4);
F>>igure, imshow(gg)
原始图像:
四、思考题
MatLab软件具有以下特点:①它具备强大的数值运算与符号运算能力,并能有效避免繁杂的手工推导过程;②其界面设计直观且操作简便,在工程计算中表现出色;③该软件使用起来非常方便,并且它的易用性使其成为工程技术人员的首选工具;④内置了大量专业领域的工具箱(即函数库),为各类科学问题提供了便捷解决方案;⑤它不仅限于数学计算,在物理、化学等学科领域也展现了广泛的应用价值。
②具有完备的图形处理功能,实现计算结果和编程的可视化;
友好友好的用户界面及接近数学表达式的自然化语言, 使学者易于学习和掌握;
该集合具有高度发达的功能特性,并且包括信号处理集合、通信设备集合等类型的产品组合。这些产品组合能够为用户提供灵活易用和实用高效的解决方案。
请问MatLab软件是否支持多种图像文件格式?例如JPEG( Joint Photographic Experts Group)、PCX( Portable Gray Map)、TIFF( Tagged Image File Format)、PNG( Portable Network Graphics)、GIF( Graphics Interchange Format)、HDF( Hierarchical Data Format)、XWD( X Window System Data Transfer)等。
(3) 详细阐述函数imread的作用、使用格式及其对不同文件格式读取所生成图像的独特属性。(4) 采用I = imread('lena.bmp'))指令获取图像I后为何无法执行算术操作?因为Matlab系统默认支持双精度数据类型(double),而该指令生成的结果矩阵为无符号8位整数(uint8),直接执行运算会导致数值溢出。
实验二 图像的代数运算
.图像的加法运算
在MATLAB环境中使用时,则可以通过调用imadd函数来实现这一功能。该函数会对输入图像中的每个像素值分别与另一副对应位置上的像素值进行相加运算,并生成一个新图像作为输出结果。具体使用时,则需遵循以下调用格式:输入参数包括两个输入矩阵A和B;输出参数为C;第三个可选参数指定数据类型;第四个可选参数指定运算模式。其中,则会计算并返回两个矩阵中对应元素之和的具体数值信息;例如,在这种情况下,则会计算并返回两个矩阵中对应元素之和的具体数值信息;例如,在这种情况下,则会计算并返回两个矩阵中对应元素之和的具体数值信息。
Z = imadd(X,Y)
其中,X和Y表示需要相加的两幅图像,返回值Z表示得到的加法操作结果。
源代码:
I = imread(‘Sunset.jpg’);
J = imread(‘’);
K = imadd(I,J);
imshow(K);
给图像的每一个像素加上一个常数可以使图像的亮度增加。
源代码
RGB = imread(‘cameraman.tif’);
RGB2 = imadd(RGB,50);
subplot(1,2,1);imshow(RGB);
subplot(1,2,2);imshow(RGB2);
图像的减法运算
在MATLAB环境中,可以通过imsubtract函数实现一幅图像从另一幅图像中扣除的过程,或者从同一图像中扣除一个常数。该函数执行像素级相减操作,并将结果作为输出图象相应位置的像素值显示出来。该函数的具体调用方式如下所示:
Z = imsubtract(X,Y);其中,Z是X-Y操作的结果。
源代码
rice = imread('cameraman.tif')
back
