rgb色彩模式使用rgb模型为图像中每一个像素的rgb分量分配一个0~255范围内的强度值。例如:纯红色r值为255,g值为0,b值为0;灰色的r、g、b三个值相等(除了0和255);白色的r、g、b都为255;黑色的r、g、b都为0。
rgb图像只使用三种颜色,就可以使它们按照不同的比例混合,在屏幕上重现***种颜色。
在 rgb 模式下,每种 rgb 成分都可使用从 0(黑色)到 255(白色)的值。 例如,亮红色使用 r 值 246、g 值 20 和 b 值 50。 当所有三种成分值相等时,产生灰色阴影。
当所有成分的值均为 255 时,结果是纯白色;当该值为 0 时,结果是纯黑色。
imread函数用于读入各种图象文件,其一般的用法为。
x,map]=imread(‘filename’,‘fmt’)
其中,x,map分别为读出的图象数据和颜色表数据,fmt为图象的格式,filename为读取的图象文件(可以加上文件的路径)。
例:[x,map]=imread(’
也可以直接a= imread(’
imwrite函数用于输出图象,其语法格式为:
imwrite(x,map,filename,fmt)按照fmt指定的格式将图象数据矩阵x和调色板map写入文件filename。
imfinfo函数用于读取图象文件的有关信息,其语法格式为。
imfinfo(filename,fmt)
imfinfo函数返回一个结构info,它反映了该图象的各方面信息,其主要数据包括:文件名(路径)、文件格式、文件格式版本号、文件的修改时间、文件的大小、文件的长度、文件的宽度、每个像素的位数、图象的类型等。
例:imfinfo(''
ans =filename: 'c:\matlab6p5\toolbox\images\imdemos\'
filemoddate: '26-oct-1996 06:11:58'
imshow函数是最常用的显示各种图象的函数,其语法如下:
imshow(x,map)
其中x是图象数据矩阵,map是其对应的颜色矩阵,若进行图象处理后不知道图象数据的值域可以用代替map。
需要显示多幅图象时,可以使用figure语句,它的功能就是重新打开一个图象显示窗口。
例:i=imread(‘
imshow(i);
j=imread(‘
figure,imshow(j);
imhist函数来计算和显示图象的直方图,imhist函数的语法格式为:
imhist(i,n)
imhist(x,map)
其中imhist(i,n)计算和显示灰度图象i的直方图,n为指定的灰度级数目,默认值为256。imhist(x,map)计算和显示索引色图象x的直方图,map为调色板。
例:i = imread(''
imshow(i)
figure, imhist(i)
如果原图象f(x,y)的灰度范围是[m,m],我们希望调整后的图象g(x,y)的灰度范围是[n,n],那么下述变换,,就可以实现这一要求。
matlab图象处理工具箱中提供的imadjust函数,可以实现上述的线性变换对比度增强。imadjust函数的语法格式为:
j = imadjust(i,[low_in high_in],[low_out high_out])
j = imadjust(i,[low_in high_in],[low_out high_out])返回图象i经过直方图调整后的图象j,[low_in high_in]为原图象中要变换的灰度范围,[low_out high_out]指定了变换后的灰度范围。
例:i = imread(''
j = imadjust(i,[0.3 0.7],[
imshow(i), figure, imshow(j)
matlab图像处理工具箱中的函数imresize可以用上述的3种方法对图像进行插值缩放,如果不指定插值方法,则默认为最邻近插值法。
imresize函数的语法格式为:
b = imresize(a,m,method)
参数method用于指定插值的方法,可选用的值为'nearest'(最邻近法),'bilinear'(双线性插值),'bicubic'(双三次插值),默认为'nearest'。
b = imresize(a,m,method)返回原图a的m倍放大的图像(m小于1时效果是缩小)。
在matlab中提供了给图像加入噪声的函数imnoise
imnoise的语法格式为。
j = imnoise(i,type)
j = imnoise(i,type,parameters)
其中j = imnoise(i,type)返回对原始图像i添加典型噪声的有噪图像j。
参数type和parameters用于确定噪声的类型和相应的参数。
下面的命令是对图像分别加入高斯噪声、椒盐噪声和乘性噪声,其结果如图所示:
例:i=imread(''
j1=imnoise(i,'gaussian',0,0.02);
j2=imnoise(i,'salt & pepper',0.02);
j3=imnoise(i,'speckle',0.02);
subplot(2,2,1),imshow(i),title('原图像');
subplot(2,2,2),imshow(j1),title('加高斯噪声');
subplot(2,2,3),imshow(j2),title('加椒盐噪声');
subplot(2,2,4),imshow(j3),title('加乘性噪声');
在上面的例子中使用了一个函数subplot。其作用就是将多幅图像显示再同一幅图像显示对话框中。其语法格式为:
subplot(m,n,p)
其作用就是将一个图像显示对话框分成m行n列,并显示第p幅图像。
在实际的对图像处理过程中,由于我们读出的图像是unit8型,而在matlab的矩阵运算中要求所有的运算变量为double型(双精度型)。因此读出的图像数据不能直接进行相加求平均,因此必须使用一个函数将图像数据转换成双精度型数据。matlab中提供了这样的函数:
im2double函数,其语法格式为:
i2 = im2double(i1)
其中i1是输入的图像数据,它可能是unit8或unit16型数据,通过函数的变化输出i2为一个double型数据,这样两图像数据就可以方便的进行相加等代数运算。
作为一个示例,现将刚刚显示的加有噪声的图像进行相加求平均以消除图像的噪声。在图像中我们给图像加的是均值为0,方差为0.02的高斯噪声,将图像相加了一百遍,再求其平均值。
程序如下:
例图像加噪声再通过多次相加求平均的方法祛除噪声。
i,m]=imread(''
j=imnoise(i,'gaussian',0,0.02);
subplot(1,2,1),imshow(i,m),title('原图像');
subplot(1,2,2),imshow(j,m),title('加噪声后图像');
k=zeros(242,308);
for i=1:100
j=imnoise(i,'gaussian',0,0.02);
j1=im2double(j);
k=k+j1;
endk=k/100; %求图像的平均。
figure;imshow(k),title('相加求平均后的图像');
imresize函数的语法格式为:
b = imresize(a,m,method)
这里参数method用于指定插值的方法,可选用的值为'nearest'(最邻近法),'bilinear'(双线性插值),'bicubic'(双三次插值),默认为'nearest'。
b = imresize(a,m,method)返回原图a的m倍放大的图像(m小于1时效果是缩小)。
例:i=imread(''
j = imresize(i,1.25);
imshow(i),title('原图像')
figure,imshow(j),title('放大后的图像')
在工具箱中的函数imrotate可用上述三种方法对图像进行插值旋转,默认的插值方法也是最邻近插值法。
imrotate的语法格式为:
b = imrotate(a,angle,method
函数imrotate对图像进行旋转,参数method用于指定插值的方法,,可选用的值为'nearest'(最邻近法),'bilinear'(双线性插值),'bicubic'(双三次插值),默认为'nearest'。一般说来旋转后的图像会比原图大,超出原图部分值为0。
例:i=imread(''
j=imrotate(i,30,'bilinear');
imshow(i);title('原图像')
figure,imshow(j),title('旋转后的图像')
matlab提供的快速傅立叶变换函数。
1)fft2
fft2函数用于计算二维快速傅立叶变换,其语法格式为:
b = fft2(i)
b = fft2(i)返回图象i的二维fft变换矩阵,输入图象i和输出图象b大小相同。
例如,计算图象的二维傅立叶变换,并显示其幅值的结果,其命令格式如下。
load imdemos saturn2
imshow(saturn2)
b = fftshift(fft2(saturn2));
imshow(log(abs(b)),notruesize')
函数图像,导数图像
一 填空题。1 某医药研究所开发一种新药,如果成年人按规定的剂量服用,据检测,服药后每毫升血液中的含药量y 毫克 与时间t 小时 之间的关系用如图所示曲线表示 据进一步测定,每毫升血液中含药量不少于0.25毫克时,疾病有效。则服药一次 该疾病有效的时间为小时 2 若函数的图象如图,则a的取值范围是 ...
导函数图像与原函数图像关系 我
导函数图像类型题 类型一 已知原函数图像,判断导函数图像。1.福建卷11 如果函数的图象如右图,那么导函数的图象可能是。2.设函数f x 在定义域内可导,y f x 的图象如下左图所示,则导函数y f x 的图象可能为 3.函数的图像如下右图所示,则的图像可能是。4.若函数的图象的顶点在第四象限,则...
导函数图像与原函数图像关系 我
导函数图像类型题 类型一 已知原函数图像,判断导函数图像。1.福建卷11 如果函数的图象如右图,那么导函数的图象可能是。2.设函数f x 在定义域内可导,y f x 的图象如下左图所示,则导函数y f x 的图象可能为 3.函数的图像如下右图所示,则的图像可能是。4.若函数的图象的顶点在第四象限,则...