一、有限换无限
一幅图像可以被抽象地定义为一个二维函数f(x,y),其中x,y是空间平面坐标,f表示点(x,y)处图像的振幅或者称亮度、强度、灰度(注:灰度概念只在黑白图像中有意义)。
相对于原图f连续的x,y分量和振幅取值,当x,y分量和振幅取有限且离散的量时,该图像称为数字图像。借用数字计算机处理数字图像则称为数字图像处理。
二、几个简单常用的MATLAB图像处理命令
1> 读图像 imread
>>f=imread('d:/tmp.jpg'); //注:MATLAB中的图像就是数组
2>显示某图行列数 size
>> size(f)
ans =
1944 2592 3
>> [M,N]=size(f); //注:有分号和无分号的区别。带分号则不在显示器上输出结果
3> 显示数组附件信息 whos
>> whos f
Name Size Bytes Class
f 1944x2592x3 15116544 uint8 array
Grand total is 15116544 elements using 15116544 bytes
4>显示图像 imshow(f,G) //G的灰度级别,默认值为256,所有可不输入
imshow(f , [low high]) imshow(f , [])
>>h = imread('d:/tmp02');
>> imshow(f)
>> figure , imshow(h) //有了"figure, ..." 就可以同时显示两个图像了
上面两条语句可以写到一行,即:
>> imshow(f) ; figure , imshow(h)
5>保存(写)图像 imwrite
>>imwrite (f , 'new.jpg' , 'quality' , 25) //最后一个数字q为0到100间的整数,q值越小,表明压缩越大,显示效果越差
6>图像信息 imfinfo //IMage_File_INFOrmation
>> imfinfo tmp02.jpg
ans =
Filename: 'tmp02.jpg'
FileModDate: '07-Dec-2008 19:08:08'
FileSize: 1146941
Format: 'jpg'
FormatVersion: ''
Width: 2592
Height: 1944
BitDepth: 24
ColorType: 'truecolor'
FormatSignature: ''
NumberOfSamples: 3
CodingMethod: 'Huffman'
CodingProcess: 'Sequential'
Comment: {}
>> K = imfinfo('tmp02.jpg');