文档详情

实验二图像增强..doc

发布:2017-01-05约2.51千字共7页下载文档
文本预览下载声明
数字图像处理数学方法实验报告 实验二 图像增强 专业: 信息与计算科学 班级: 1304班 学号: 20130404428 姓名: 卫妮 二〇一五年十一月五日 实验目的 1、了解图像增强的体系结构; 2、熟悉灰度变换、直方图修正在数字图像增强方面的作用及各自的特点; 3、掌握图像增强的灰度变换法、直方图修正法。 实验内容 读入一幅有明显明暗缺陷的灰度图像,画出其灰度直方图; 从视觉和直方图统计信息两方面分析该图像的特征; 设计合理的图像增强函数(分段灰度线性变换法、非线性变换法)改善图像的视觉效果; 试用直方图均衡法改善图像的视觉效果; 实验步骤及分析 1、设置当前工作目录; 打开matlab,从“文件”菜单选择“Set Path”,弹出“Set Path”窗体,单击“Add Folder…”按钮或“Add with Subfolders…”按钮,弹出“浏览文件夹”窗口,选择自己的文件夹添加到当前工作目录中,点击“确定”,返回到“Set Path”窗体,依次点击“Save”按钮、“Close”按钮,完成当前工作目录的设置。 2、使用imread函数读入一幅有明显明暗缺陷的灰度图像 3、使用rgb2gray(I)函数将读入的图像I转换成灰度图像I_Gray 4、计算每级灰度出现的概率,将其存入GP,然后直方图均衡化,将sk归到相近级的灰度 5、使用subplot()函数和imshow()函数显示原图像直方图、均衡化后的直方图、原图像和直方图均衡后的图像 源代码(请对程序进行注释说明) clear all; I = imread(2.jpg); %使用imread函数读入一幅有明显明暗缺陷的灰度图像 I=rgb2gray(I); %使用rgb2gray(I)函数将读入的图像I转换成灰度图像I_Gray, [m,n]=size(I); %设置矩阵I的大小 GP=zeros(1,256); for k=0:255 ? GP(k+1)=length(find(I==k))/(m*n); %计算每级灰度出现的概率,将其存入GP end S1=zeros(1,256); %直方图均衡化 for i=1:256 for j=1:i S1(i)=GP(j)+S1(i); end end S2=round((S1*256)+0.5); %将sk归到相近级的灰度 for i=1:256 GPeq(i)=sum(GP(find(S2==i))); %计算现在有每个灰度级出现的概率 end figure; subplot(221);bar(0:255,GP,b); title(原图的直方图) subplot(222);bar(0:255,GPeq,b) title(均衡化后的直方图) X=I; for i=0:255 X(find(I==i)) = S2(i+1); end subplot(223);imshow(I); title(原图) ; subplot(224);imshow(X); title(均衡化后的图像); 变幻线 I=imread(cameraman.tif); subplot(2,3,1); imshow(I); title(原始灰度图像); subplot(2,3,2); imhist(I); title(原始图像灰度直方图); %分析后图像的灰度值集中分布于100~140之间,50~140,140~200灰度级间像素分布均匀 %缺少0~50,200~255灰度级的像素 %实现分段灰度线性变换 %灰度值在0~100变换到0~50,100~140变换到50~200,140~200变换到200~255 g0=0; f0=0; g1=50; f1=100; g2=200; f2=140; g3=255; f3=255; subplot(2,3,3); X=[f0 f1 f2 f3]; Y=[g0 g1 g2 g3]; plot(X,Y); title(变换线); k1=(g1-g0)/(f1-f0); k2=(g2-g1)/(f2-f1); k3=(g3-g2)/(f3-f2); [m n]=size(I); I=double(I); for i=1:m for j=1:n if(I(i,j)=f0)(I(i,j)f1) G(i,j)=k1*I(i,j); else if(I(i,j)=f1)(I(i,j)f2) G(i,j)=k2*(I(i,j)-f1)+g1; else
显示全部
相似文档