实验二 图像基本操作
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验二图像基本操作
一、实验目的
1、熟悉及掌握图像的采样原理,实现图像的采样过程,进行图像的灰度转换。
2、理解直方图的概念及应用,实现图像直方图的显示,及通过直方图均衡和直方图规定化方法对图像进行修正。
二、实验环境
MATLAB6.5以上版本、WIN XP或WIN2000计算机
三、相关函数
图像的增强
1、直方图
imhist函数用于数字图像的直方图计算或显示,
imhist(I,n)计算和显示图像I的直方图,n为指定的灰度级数目,默认为256。如果I是二值图像,那么n仅有两个值。
[counts,x]=imhist(...)返回直方图数据向量counts,相应的色彩值向量x。
如:
i=imread('e:\w01.tif');
imhist(i);
2、直方图均衡化
histeq函数用于数字图像的直方图均衡化,
J=histeq(I,n)均衡化后的级数n,缺省值为64。
J=histeq(I,hgram)"直方图规定化",即将原是图象I的直方图变换成用户指定的向量hgram(即指定另一幅图像的直方图数据向量)。
如:
i=imread('e:\w01.tif');
j=histeq(i,N);对图像i执行均衡化,得到具有N个灰度级的灰度图像j,N缺省值为64
3、灰度调整
imadjust函数用于数字图像的灰度或颜色调整,
J=imadjust(I)将灰度图像I中的亮度值映射到J中的新值并使1%的数据是在低高强度和饱和,这增加了输出图像J的对比度值。
J=imadjust(I,[low_in;high_in],[low_out;high_out])
将图像I中的亮度值映射到J中的新值,即将low_in至high_in之间的值映射到low_out至high_out之间的值。low_in以下与high_in以上的值被剪切掉了,也就是说,low_in以下的值映射到low_out,high_in以上的值映射到high_out。它们都可以使用空的矩阵[],默认值是[01]。
如:
i=imread('e:\w01.tif');
j=imadjust(i,[0.3,0.7],[]);将图像i转换为j,使灰度值从0.3~0.7与缺省值0~1相匹配
运算函数
1、Zeros生成全0数组或矩阵
如B=zeros(m,n)or B=zeros([m n])返回一个m*n全0矩阵
2、取整函数
floor最小取整函数
round四舍五入取整函数
ceil最大取整函数
如a=[-1.9,-0.2,3.4,5.6,7.0,2.4+3.6i]
I=round(a)
I=[-203672+4i]
四、实验内容
1、调试运行8倍减采样程序,分析程序,对每条语句给出注释,并显示最终执行结果。
a=imread(‘e:\i_lena.JPG’);%读取图像
b=rgb2gray(a);%将图像转化成灰度图像
[wid,hei]=size(b);%得出图像的宽度和高度
wid=
257
hei=
386
quartimg=zeros(wid/2+1,hei/2+1);
i1=1;
j1=1;
for i=1:2:wid
for j=1:2:hei
quartimg(i1,j1)=b(i,j);
j1=j1+1;
end
i1=i1+1;
j1=1;
end
figure
imshow(uint8(quartimg))
2、显示一幅灰度图像a,改变图像亮度使其整体变暗得到图像b,显示两幅图像的直方图,
解:
>>a=imread('C:\Documents and Settings\Administrator\桌面\图片\1.jpg');
>>imshow(a)
b=rgb2gray(a);
imshow(b)
J=imsubtract(b,100);
Imshow(J)
1、直方图
imhist函数用于数字图像的直方图计算或显示,
imhist(I,n)计算和显示图像I的直方图,n为指定的灰度级数目,默认为256。如果I是二值图像,那么n仅有两个值。
[counts,x]=imhist(...)返回直方图数据向量counts,相应的色彩值向量x。
如:
i=imread('e:\w01.tif');
imhist(i);
>>subplot(1,2,2)
>>imhist(J,256)
>>title('变暗后的图像J')
>>subplot(1,2,1)
>>subplot(1,2,1)
>>imhist(b,256)
>>title('灰色图像b')0
200400
600800
1000灰色图像b 的直方图
01002000
500
1000
1500
2000
2500
3000
3500
4000
4500
灰色图像变暗后J 的直方图01002003、对图像b 进行直方图均衡化,显示结果图像和对应直方图。
2、直方图均衡化
histeq 函数用于数字图像的直方图均衡化,
J =histeq(I,n)均衡化后的级数n ,缺省值为64。
J =histeq(I,hgram)"直方图规定化",即将原是图象I 的直方图变换成用户指定的向量hgram (即指定另一幅图像的直方图数据向量)。
如:
i=imread('e:\w01.tif');
j=histeq(i ,N);对图像i 执行均衡化,得到具有N 个灰度级的灰度图像j ,N 缺省值为64