数字图像处理实验-二
2017-04-10 18:23
190 查看
实验二 图像灰度直方图统计 一、实验目的: 理解并掌握灰度直方图的概念、计算灰度直方图的方法以及如何应用直方图均衡化来增强图像对比度。 二、实验环境: 计算机、Windows XP操作系统,Matlab7.0 三、实验内容: 以灰度图像pout为例,运用Matlab编程实现灰度直方图的统计以及直方图均衡化处理过程: (1)计算并绘制原始pout图像的灰度直方图; (2)根据离散累计分布函数,对原始灰度直方图进行均衡化处理,绘制均衡化后的灰度直方图; (3)生成均衡化处理后的新图像,显示并保存。 (4)比较原始pout图像和新图像的对比度。 clc; clear; grayimage=imread('pout.tif'); %读取一幅256级灰度图像,作为原始图像 subplot(2,2,1); imshow(grayimage); title('原始图像'); %显示原始图像 [m,n]=size(grayimage); %获取图像大小 %以下计算原始图像中各灰度级出现的概率 gp=zeros(1,256); %初始化一维行向量gp for i=1:256 gp(i)=length(find(grayimage==(i-1)))/(m*n); %计算每个灰度级出现的概率 end subplot(2,2,2); bar(0:255, gp); %显示原始图像的灰度直方图 title('原始图像的灰度直方图'); xlabel('灰度值'); ylabel('出现概率'); %以下进行直方图均衡化处理,根据离散累计分布函数,求出所有新的灰度级 S1=zeros(1,256); S2=zeros(1,256); temp=0; for i=1:256 temp=temp+gp(i); S1(i)=temp; end S2=round(S1*255); %将Sk归到相近的灰度级上 %以下计算各个新的灰度级出现的概率 newgp=zeros(1,256); for i=1:256 newgp(i)=sum(gp(find(S2==(i-1)))); end subplot(2,2,3); bar(0:255, newgp); %显示均衡化后的灰度直方图 title('均衡化后的灰度直方图'); xlabel('灰度值'); ylabel('出现概率'); %用新的灰度值填充各像素点,从而获得均衡化处理之后的新图像 newgrayimage=grayimage; for i=1:256 newgrayimage(find(grayimage==(i-1)))=S2(i); end subplot(2,2,4); imshow(newgrayimage); %显示均衡化处理后的新图像 title('均衡化后的图像'); imwrite(newgrayimage,'newpout.tif'); %保存均衡化处理后的新图像
clc;clear;grayimage=imread('pout.tif');[m,n]=size(grayimage);subplot(2,2,1);imshow(grayimage);gp=zeros(1,256);for i=1:256gp(i)=length(find(grayimage==(i-1)))/(m*n);endsubplot(2,2,2);bar(0:255,gp);xlabel('灰度值');ylabel('概率');S1=zeros(1,256);S2=zeros(1,256);temp=0;for i=1:256temp=temp+gp(i);S1(i)=temp;endS2=round(S1*255);newgp=zeros(1,256);for i=1:256newgp(i)=sum(gp(find(S2==(i-1))));endsubplot(2,2,3);bar(0:255,newgp);xlabel('灰度值');ylabel('概率');newgrayimage=grayimage;for i=1:256newgrayimage(find(grayimage==(i-1)))=S2(i);endsubplot(2,2,4);imshow(newgrayimage);imwrite(newgrayimage,'newpout.tif');
相关文章推荐
- 数字图像处理实验(4):PROJECT 02-04 [Multiple Uses],Zooming and Shrinking Images by Bilinear Interpolation
- 数字图像处理实验(10):PROJECT 05-01 [Multiple Uses],Noise Generators 标签: 图像处理MATLAB 2017-05-26 23:36
- 数字图像处理实验(8):PROJECT 04-04,Highpass Filtering Using a Lowpass Image 标签: 图像处理MATLAB 2017-05-25 0
- 数字图像处理实验(17):PROJECT 06-04,Color Image Segmentation
- 5.数字图像处理及mtlab 实现-学习及实验指导 imsubtract函数
- 数字图像处理实验(12):PROJECT 05-03,Periodic Noise Reduction Using a Notch Filter
- 数字图像处理——VisualC#.NET编程与实验(附赠光盘)这本书怎么样
- 数字图像处理实验(4):PROJECT 02-04 [Multiple Uses],Zooming and Shrinking Images by Bilinear Interpolation 标签: 图像处理MATLAB
- <数字图像处理基础与实践(matlab版)>第二章习题 给图片加水印
- 冈萨雷斯数字图像处理学习2:视觉基础
- 数字图像处理中的形态学
- [数字图像处理]图像去噪初步(1)--均值滤波器
- 【数字图像处理】bmp文件详细分析
- 数字图像处理领域的二十四个典型算法及vc实现、第二章
- 结合实例与代码谈数字图像处理都研究什么?
- [数字图像处理]简单的几何学图像变换与图像配准
- [数字图像处理]简单的几何学图像变换与图像配准
- 数字图像处理基本软件VC++实现基本处理功能(一)
- 数字图像处理-空间域处理-空间滤波-平滑空间滤波器
- 机器视觉起步之数字图像处理(冈萨雷斯)