实验报告78.docx
《实验报告78.docx》由会员分享,可在线阅读,更多相关《实验报告78.docx(11页珍藏版)》请在冰豆网上搜索。
实验报告78
实验七MATLAB图像处理
一、实验目的
1.熟悉及掌握在MATLAB中能够处理哪些格式图像。
2.熟练掌握在MATLAB中如何读取图像。
3.掌握如何利用MATLAB来获取图像的大小、颜色、高度、宽度等等相关信息。
4.掌握如何在MATLAB中按照指定要求存储一幅图像的方法。
5.掌握图像间如何转化。
二、实验仪器与软件
1.PC计算机
2.MatLab软件/语言包括图像处理工具箱(ImageProcessingToolbox)
3.实验所需要的图片
三、实验内容及步骤
1.利用imread()函数读取一幅图像,假设其名为flower.tif,存入一个数组中;
>>path(path,'G:
\work\软件\matlab实验\实验七图片')
>>I=imread('flower.tif');
2.利用whos命令提取该读入图像flower.tif的基本信息;
>>whosI
NameSizeBytesClassAttributes
I202x270x4218160uint8
3.利用imshow()函数来显示这幅图像;
>>imshow(I(:
:
1:
3))
图7.1
4.利用imfinfo函数来获取图像文件的压缩,颜色等等其他的详细信息;
>>imfinfo'flower.tif'
ans=
Filename:
'G:
\work\软件\matlab实验\实验七图片\flower.tif'
FileModDate:
'27-一月-200423:
06:
48'
FileSize:
215216
Format:
'tif'
FormatVersion:
[]
Width:
270
Height:
202
BitDepth:
32
ColorType:
'truecolor'
FormatSignature:
[7373420]
ByteOrder:
'little-endian'
NewSubFileType:
0
BitsPerSample:
[8888]
Compression:
'LZW'
PhotometricInterpretation:
'RGB'
StripOffsets:
[19x1double]
SamplesPerPixel:
4
RowsPerStrip:
11
StripByteCounts:
[19x1double]
XResolution:
150
YResolution:
150
ResolutionUnit:
'Unknown'
Colormap:
[]
PlanarConfiguration:
'Chunky'
TileWidth:
[]
TileLength:
[]
TileOffsets:
[]
TileByteCounts:
[]
Orientation:
1
FillOrder:
1
GrayResponseUnit:
0.0100
MaxSampleValue:
[255255255255]
MinSampleValue:
[0000]
Thresholding:
1
Offset:
215018
Predictor:
'None'
ExtraSamples:
2
5.利用imwrite()函数来压缩这幅图象,将其保存为一幅压缩了像素的jpg文件,设为flower.jpg;语法:
imwrite(原图像,新图像,‘quality’,q),q取0-100。
>>I1=I(:
:
1:
3);
>>imwrite(I1,'flower.jpg','quality',50);
>>figure
(1),imshow('flower.jpg');
figure
(2),imshow(I1)
图7.5
依靠直观的观察,可以发现原来的图像比压缩后的图像要清晰。
6.同样利用imwrite()函数将最初读入的tif图象另存为一幅bmp图像,设为flower.bmp。
>>imwrite(I1,'flower.bmp')
7.用imread()读入图像:
Lenna.jpg和camema.jpg;
>>L=imread('Lenna.jpg');
C=imread('camema.jpg');
8.用imfinfo()获取图像Lenna.jpg和camema.jpg的大小;
>>imfinfo('Lenna.jpg')
ans=
Filename:
'G:
\work\软件\matlab实验\实验七图片\Lenna.jpg'
FileModDate:
'27-Jan-200423:
06:
48'
FileSize:
6830
Format:
'jpg'
FormatVersion:
''
Width:
249
Height:
236
BitDepth:
8
ColorType:
'grayscale'
FormatSignature:
''
NumberOfSamples:
1
CodingMethod:
'Huffman'
CodingProcess:
'Sequential'
Comment:
{'Software:
MicrosoftOffice'}
>>imfinfo('camema.jpg')
ans=
Filename:
'G:
\work\软件\matlab实验\实验七图片\camema.jpg'
FileModDate:
'27-Jan-200423:
06:
48'
FileSize:
8476
Format:
'jpg'
FormatVersion:
''
Width:
240
Height:
240
BitDepth:
8
ColorType:
'grayscale'
FormatSignature:
''
NumberOfSamples:
1
CodingMethod:
'Huffman'
CodingProcess:
'Sequential'
Comment:
{'Software:
MicrosoftOffice'}
9.用figure,imshow()分别将Lenna.jpg和camema.jpg显示出来,观察两幅图像的质量。
>>figure
(1),imshow('Lenna.jpg');
>>figure
(2),imshow('camema.jpg')
图7.9
10.用im2bw将一幅灰度图像转化为二值图像,并且用imshow显示出来观察图像的特征。
>>g=im2bw(C,0.5);
figure
(1),imshow(g);
图7.10
三、实验收获与体会
虽然MATLAB是一个名副其实的数学软件,但它也有其独立于数学外的独特的一面,那就是图像处理。
经过实验七,我基本熟悉并掌握了MATLAB中能够处理那些格式图像、读取图像的方式、获取图像的相关信息、满足指定要求存储图像和图像间转化的方式。
实验八Matlab文件操作与数据接口
一、实验目的
1、熟练掌握工作区变量的文件操作;
2、熟练掌握文本文件的读写操作;
3、熟练掌握格式化文本文件的输入输出语句的执行
4、了解二进制文件、Mat文件的读写操作
二、实验仪器与软件
1.PC计算机
2.Matlab软件
三、实验内容及步骤
1.用记事本创建grade.txt文件,其内容为
english math physic
joe 80 90 60
susan 78 98 88
rob 67 90 89
选择File→ImportData选项,或使用uiimport函数来打开导入数据模板,把grade.txt文件中的数据导入到Matlab工作空间。
答:
选择File→ImportData选项:
图8.1.1
使用uiimport函数:
>>s=uiimport('grade.txt')
图8.1.2
图8.1.3
2.文件my_exam.dat包含的混合的字母和数值如下:
Joe gradeA 4.9 pass
susan gradeD 2.0 fail
robgradeC3.1pass
用textread函数把4列数据全部读出来取出放在4个变量中
答:
>>[namegragradesanswer]=textread('my_exam.dat','%s%s%f%s')
name=
'Joe'
'susan'
'rob'
gra=
'gradeA'
'gradeD'
'gradeC'
grades=
4.9000
2.0000
3.1000
answer=
'pass'
'fail'
'pass'
3.计算当x=[01]时f(x)=exp(x)的值,并将结果写入到文件my.txt中。
答:
x=0:
0.1:
1;
y=[x;exp(x)];
fid=fopen('G:
\my.txt','wt');
fprintf(fid,'%6.2f%12.8f\n',y);
fclose(fid);
图8.3
4.将5行5列“魔方阵”存入二进制文件中。
答:
代码:
fid=fopen('E:
\my1.dat','w');
a=magic(5);
fwrite(fid,a,'long');
fclose(fid);
从二进制文件中读取“魔方阵”。
fid=fopen('E:
\my1.dat','r');
[A,count]=fread(fid,[5,inf],'long');
fclose(fid);
A
A=
17241815
23571416
46132022
101219213
11182529
图8.4
四、实验心得体会
在学习MATLAB的一系列的基本和特色功能后,我们熟悉MATLAB文件的操作和数据接口这方面的知识。
实验八让我们了解了工作区变量的文件操作和文本文件的读写操作和格式化文本文件的输入输出语句的执行,同时使我们了解二进制文件,Mat文件的读写操作。