数字图像的直方图规定化处理实验(matlab)

合集下载

matlab实验(直方图均衡化、频域锐化、空域锐化)

matlab实验(直方图均衡化、频域锐化、空域锐化)

实验一直方图均衡化一、实验目的掌握基本的图象增强方法,观察图象增强的效果,加深对灰度直方图及直方图均衡化的理解,掌握直方图均衡化方法。

二、实验内容将一张彩色图片转换成灰色图片,做出均衡化后的直方图,并将灰度图和均衡化后的图片对比。

三、实验原理直方图均衡方法的基本原理是:对在图像中像素个数多的灰度值(即对画面起主要作用的灰度值)进行展宽,而对像素个数少的灰度值(即对画面不起主要作用的灰度值)进行归并。

从而达到清晰图像的目的。

四、实验代码及结果clear all;f=imread('14.jpg');%读入灰色图像imwrite(rgb2gray(f),'14Gray.bmp'); %将彩色图片灰度化并保存f1=imread('14Gray.bmp');g=histeq(f1,250);%利用histep()函数对灰色图像进行直方图均衡化处理subplot(121);imshow(f1);title('灰色图像');%显示生成灰色图像subplot(122);imshow(g);title('直方图均衡化处理');%显示生成均衡化以后的图像五、实验结果分析利用imhist()函数对两幅图像的灰度范围进行分析,根据下图可知,灰色图像的灰度范围相对来说非常狭窄,图像质量比较差。

而经过直方图均衡化处理后,图像的对比度及平均亮度明显提高,直方图在整个亮度标度上明显扩展,图像质量明显提高。

实验二空域锐化一、实验目的理解图象锐化的概念,掌握常用空域锐化增强技术。

加深理解和掌握图像锐化的原理和具体算法,理解图象锐化增强的处理过程和特点。

二、实验内容利用一阶微分锐化增强,实现Roberts算子的锐化处理。

观察处理前后图像效果,分析实验结果和算法特点。

三、实验原理Roberts算子是突出图像的细节或者是增强被模糊了的细节。

因此要对图像实现锐化处理,可以用空间微分来完成,但是,这样图像的微分增强了边缘和其他的突变(如噪声)并削弱了灰度变化缓慢区域。

绘制数字图像灰度直方图实验报告matlab实现

绘制数字图像灰度直方图实验报告matlab实现

绘制数字图像灰度直方图实验报告matlab实现数字图像处理实验报告实验一绘制直方图学号__________________________ 姓名__________________________ 日期 __________________________实验一绘制直方图、实验内容1、编程绘制数字图像的直方图。

2、直方图均衡处理。

二、实验步骤1、设计思想或者流程图。

灰度直方图是将数字图像的所有像素,按照灰度值的大小,统计其所出现的频度。

通常,灰度直方图的横坐标表示灰度值,纵坐标为半个像素个数, 也可以采用某一灰度值的像素数占全图像素数的百分比作为纵坐标。

直方图均衡方法的基本原理是:对在图像中像素个数多的灰度值(即对画面起主要作用的灰度值)进行展宽,而对像素个数少的灰度值(即对画面不起主要作用的灰度值)进行归并。

从而达到清晰图像的目的。

2、源程序并附上注释。

clear all9一,图像的预处理,读入彩色图像将其灰度化PS=imread(J; % 读入JPG彩色图像文件imshow(PS)% 显示出来title(' 输入的彩色JPG图像')imwrite(rgb2gray(PS),”); % 将彩色图片灰度化并保存PS=rgb2gray(PS); % 汇,绘制直方图[m, n]=size(PS); %GP=zeros(1,256); %量for k=0:255GP(k+1)=le ngth(fi nd(PS==k))/(m* n); 概率,将其存入GP中相应位置灰度化后的数据存入数组测量图像尺寸参数预创建存放灰度出现概率的向% 计算每级灰度出现的v1.0可编辑可修改endfigure,bar(0:255,GP,'g') % title(' 原图像直方图')xlabel('灰度值')ylabel('出现概率')%E,直方图均衡化S仁zeros(1,256);for i=1:256for j=1:iS1(i)=GP(j)+S1(i); % endendS2=rou nd((S1*256)+; % for i=1:256GPeq(i)=sum(GP(fi nd(S2==i))); % 概率endfigure,bar(0:255,GPeq,'b') % title(' 均衡化后的直方图')xlabel('灰度值') ylabel('出现概率')咖,图像均衡化PA=PS;for i=0:255PA(fi nd(PS==i))=S2(i+1); % 的灰度值赋给这个像素绘制直方图计算Sk将Sk归到相近级的灰度计算现有每个灰度级出现的显示均衡化后的直方图将各个像素归一化后endfigure,imshow(PA) %title(' 均衡化后图像')imwrite(PA,”);3、程序运行结果比较。

MATLAB图像直方图及均衡化处理报告

MATLAB图像直方图及均衡化处理报告

电信信息工程3班卢国梁200730213246 23 1、用matlab作出图像的直方图clear;I=imread('2222.jpg');I=rgb2gray(I);add=[];tab1=zeros(1,256);for n=0:255X=I==n;add=[add;sum(sum(X))]; end;[a,b]=size(I);final=add/(a*b);figure;stem(final,'Marker','none'); figure(2)imshow(I)2、用matlab实现图像的直方图均衡化均衡化前均衡化后程序:clear;I=imread('2222.jpg');I=rgb2gray(I);I2=I;add=[];add1=[];tab1=zeros(1,256);tab2=zeros(1,256);for n=0:255X=I==n;add=[add;sum(sum(X))]; end;[a,b]=size(I);final=add/(a*b);for n=1:256for i=1:ntab1(n)=tab1(n)+final(i);end;end;tab1=tab1*255;tab2=round(tab1); for n=1:afor m=1:bfor t=0:255if I(n,m)==tI2(n,m)=tab2(t+1);end;end;end;end;for n=0:255X1=I2==n;add1=[add1;sum(sum(X1))]; end;[a1,b1]=size(I2);final1=add1/(a1*b1);figure;stem(final,'Marker','none');figure(2)imshow(I2);figure(3)stem(final1,'Marker','none')均衡化后直方图实验心得体会:这次先是把老师的课件都看了一次,知道了各种方法,包括多幅图像去噪声啊,中值滤波啊等等,看了一些参考的程序,请教了同学,就写了这么几个程序,中间遇到了一些问题,比如在均衡化的时候判断的时候用错了序列,结果图像处理之后变得更加难看,思量着不可能越处理越糟糕,就里里外外看了好久的程序,毕竟是当局者,看不出来,请教了同学帮忙看错误,才找出了那个错误:if I(n,m)==add(t);I2(n,m)=tab2(t+1);后来改为if I(n,m)==t;I2(n,m)=tab2(t+1);图像也好看很多了!。

数字图象处理实验报告《matlab基本操作 》

数字图象处理实验报告《matlab基本操作 》
一般情况下如果图像的灰度分别集中在比较窄的区间从而引起图像细节的模糊为了使图像细节清晰并使目标得到突出达到图像增强的目的可通过改善各部分亮度的比例关系即通过直方图的方法来实现
武汉工程大学
《数字图像处理》实验报告2
专业班级
实验时间
学生学号
实验地点
学生姓名
指导教师
实验项目
数字图像基本操作
实验类别
基础性
实验学时
%读入原始图像
f=imread('pollen.tif');
%显示原始图像
subplot(3,2,1);imshow(f);
title('original image');
subplot(3,2,2);imhist(f);
title('original image histogram');
%将原始图像均衡化,目的是与后面的规定化做对比
subplot(121),imshow(a);
title('原图为:');
subplot(122),imshow(c); %显示处理后的图像
title('均衡化后的图为:');
通过以上变换后总的效果为:
%读入原始图像
f=imread('pollen.tif');
%显示原始图像
iptsetpref('ImshowAxesVisible','on')
c2=A2*(1/((2*pi)^0.5)*sig2); %设置c2=A2*(1/sqrt(2*pi)*sig)),即高斯函数的系数部分;
k2=2*(sig2^2); %设置指数部分的分母,即(1/2*sig^2),同上

图像增强中直方图均衡化的Matlab 实现

图像增强中直方图均衡化的Matlab 实现

图像增强中直方图均衡化的Matlab 实现摘要:本文采用直方图均衡化的图像增强的基本原理, 借助数学公式, 在Matlab环境下, 对数字图像进行直方图均衡化处理, 实现原始图像直方图均匀分布, 增加像素灰度值的动态范围, 提高了图像的对比度。

关键词:图像增强, 直方图,均衡化, MatlabABSTRACT:In this paper, the basic principle of histogram equalization , image enhancement , with the mathematical formula , in the Matlab environment for digital image histogram equalization , to achieve uniform distribution of the original image histogram , increasing the dynamic range of pixel gray value , improve contrast of the image .KEYWORDS:image enhancement;histograme ;qualization;Matlab1引言图像增强是指对图像的某些特征,如边缘、轮廓或对比度等进行强调或尖锐化。

当一幅图像曝光不足或过度,造成对比度过小或过大而不能显示具体细节,通过增加这些细节的动态范围改善图像的视觉效果。

图像增强可以突出图像中所感兴趣的特征信息,改善图像的主观视觉质量,提高图像的可懂度。

增强的首要目标是处理图像使其比原始图像更适合于特定应用。

图像增强的方法分为两大类:空间域方法和频域方法。

“空间域”一词是指图像平面本身,这类方法是以对图像的像素直接处理为基础的。

“频域”处理技术是以修改图像的傅氏变换为基础的。

一般说来,原始遥感数据的灰度值范围都比较窄,这个范围通常比显示器的显示范围小的多。

数字图像的直方图规定化处理实验

数字图像的直方图规定化处理实验

XX 大学实验报告
(一) 掌握数字图像的直方图规定化处理的算法和方法。

(二) 熟悉数字图像的直方图规定化处理的算法原理。

按照实验内容及参考程序,独立完成此次实验,记下不懂的知识点,查阅资料或者向老 师咨询。

直方图规定化是用于产生处理后有特殊直方图的图像方法。

学院:
专业: 班级: 姓名 实验时间 实验项目名称
实验二:数字图像的直方图规定化处理

p r (r )和Pz (z )分别为原始图像和期望图像的灰度概率密度函数。

和期望图像均作直方图均衡化处理,应有:
r
s T (r ) 0 p r (r )dr ,V G (Z )
对原始图像
z 0
P z
(z )dz ,z
G
1
(V)
由于都是作直方图均衡化处理,所以处理后的原图像的灰度概率密度函数
p S (s )及理
想图像的灰度概率密度函数 P V (V )是相等的。

因此,可以用变换后的原始图像灰度级
S
代替上式中的V, 即Z G 1[T (r )]。

利用此式可以从原始图像得到希望的图像灰度级。

对离散图像,有
P Z (ZJ
虹,V i G (乙)^P z (Z i ), Z i
G 1(S i ) G 1[T(r i )]
n
i 0
综上所述,数字图像的直方图规定化就是将直方图均衡化后的结果映射到期望的理想直 方图上,使图像按人的意愿去变换。

数字图像的直方图规定的算法如下:
(一)将原始图像作直方图均衡化处理, 求出原图像中每一个灰度级 r i 所对应的变
学号 指导教师
实验组 成绩。

(精品)数字图像处理实验报告--直方图规定化

(精品)数字图像处理实验报告--直方图规定化

数字图像处理实验报告直方图匹配规定化直方图均衡化能够自动增强整个图像的对比度,但它的具体增强效果不容易控制,处理的结果总是得到全局均匀化的直方图。

实际上有时需要变换直方图,使之成为某个特定的形状,从而有选择地增强某个灰度值范围内的对比度。

这时可以采用比较灵活的直方图规定化。

一般来说正确地选择规定化的函数可以获得比直方图均衡化更好的效果。

所谓直方图规定化,就是通过一个灰度映像函数,将原灰度直方图改造成所希望的直方图。

所以,直方图修正的关键就是灰度映像函数。

直方图匹配方法主要有3个步骤(这里设M和N分别为原始图和规定图中的灰度级数,且只考虑N≤M的情况):(1) 如同均衡化方法中,对原始图的直方图进行灰度均衡化:(2) 规定需要的直方图,并计算能使规定的直方图均衡化的变换:(3) 将第1个步骤得到的变换反转过来,即将原始直方图对应映射到规定的直方图,也就是将所有pf(fi)对应到pu(uj)去。

一、A图直方图规定B图Matlab程序:%直方图规定化clear allA=imread('C:\Users\hp\Desktop\A.tif'); %读入A图像imshow(A) %显示出来title('输入的A图像')%绘制直方图[m,n]=size(A); %测量图像尺寸B=zeros(1,256); %预创建存放灰度出现概率的向量for k=0:255B(k+1)=length(find(A==k))/(m*n); %计算每级灰度出现的概率,将其存入B中相应位置endfigure,bar(0:255,B,'g'); %绘制直方图title('A图像直方图')xlabel('灰度值')ylabel('出现概率')axis([0,260,0,0.015])C=imread('C:\Users\hp\Desktop\B.tif');%读入B图像imshow(C) %显示出来title('输入的B图像')%绘制直方图[m,n]=size(C); %测量图像尺寸D=zeros(1,256); %预创建存放灰度出现概率的向量for k=0:255D(k+1)=length(find(C==k))/(m*n); %计算每级灰度出现的概率,将其存入D中相应位置endfigure,bar(0:255,D,'g'); %绘制直方图title('B图像直方图')xlabel('灰度值')ylabel('出现概率')axis([0,260,0,0.015])S1=zeros(1,256);for i=1:256for j=1:iS1(i)=D(j)+S1(i); %计算B灰度图累计直方图endendcounts=Bfigure,bar(0:255,counts,'r')title('A图像直方图 ')S2=zeros(1,256);for i=1:256for j=1:iS2(i)=counts(j)+S2(i);endend; %"累计"规定化直方图%对比直方图,找到相差最小的灰度级for i=1:256for j=1:255if S1(j)<=S2(i)&S1(j+1)>=S2(i)if abs(S1(j)-S2(i))<=abs(S1(j+1)-S2(i)) T(i)=j;else T(i)=j+1;endendendend%确定变换关系,重组直方图H=zeros(1,256);H(1)=S2(1);for i=2:255if T(i-1)>0for k=(T(i-1)+1):T(i)H(i)=H(i)+D(k);endelse H(i)=0;endendfigure,bar(0:255,H,'g') %显示规定化后的直方图title('A规定B后的直方图')xlabel('灰度值')ylabel('出现概率')axis([0,260,0,0.6])%显示规定图PA=C; %将各个像素归一化后的灰度值赋给这个像素for i=1:mfor j=1:nfor k=2:255if T(k-1)<=C(i,j)&C(i,j)<=T(k)PA(i,j)=k;break;endendendendfigure,imshow(PA) %显示规定化后的图像title('A规定B后图像')imwrite(PA,'guidinghua.bmp');二、用已知直方图规定A图规定灰度为[zeros(1,49),0.3,zeros(1,49),0.1,zeros(1,49),0.2,zeros(1,49),0.1,zeros(1,49 ),0.2,zeros(1,49),0.1]Matlab程序:clear allA=imread('C:\Users\hp\Desktop\B.tif'); %读入A图像imshow(A) %显示出来title('输入的A图像')%绘制直方图[m,n]=size(A); %测量图像尺寸B=zeros(1,256); %预创建存放灰度出现概率的向量for k=0:255B(k+1)=length(find(A==k))/(m*n); %计算每级灰度出现的概率,将其存入B中相应位置endfigure,bar(0:255,B,'g'); %绘制直方图title('A图像直方图')xlabel('灰度值')ylabel('出现概率')axis([0,260,0,0.015])S1=zeros(1,256);for i=1:256for j=1:iS1(i)=B(j)+S1(i); %计算原灰度图累计直方图endendcounts=[zeros(1,49),0.3,zeros(1,49),0.1,zeros(1,49),0.2,zeros(1,49),0.1,zer os(1,49),0.2,zeros(1,49),0.1];%规定化直方图figure,bar(1:300,counts,'r')title('规定化直方图')S2=zeros(1,256);for i=1:256for j=1:iS2(i)=counts(j)+S2(i);endend; %"累计"规定化直方图%对比直方图,找到相差最小的灰度级for i=1:256for j=1:256if S1(j)<=S2(i)&S1(j+1)>=S2(i)if abs(S1(j)-S2(i))<=abs(S1(j+1)-S2(i)) T(i)=j;else T(i)=j+1;endendendend%确定变换关系,重组直方图H=zeros(1,256);H(1)=S2(1);for i=2:256if T(i-1)>0for k=(T(i-1)+1):T(i)H(i)=H(i)+B(k);endelse H(i)=0;endendfigure,bar(0:255,H,'g') %显示规定化后的直方图title('规定化后的直方图')xlabel('灰度值')ylabel('出现概率')axis([0,260,0,0.6])%显示规定图PA=A; %将各个像素归一化后的灰度值赋给这个像素for i=1:mfor j=1:nfor k=2:256if T(k-1)<=A(i,j)&A(i,j)<=T(k)PA(i,j)=k;break;endendendendfigure,imshow(PA) %显示规定化后的图像title('规定化后图像')imwrite(PA,'guidinghua.bmp');。

matlab实验(直方图均衡化、频域锐化、空域锐化)

matlab实验(直方图均衡化、频域锐化、空域锐化)

实验一直方图均衡化一、实验目的掌握基本的图象增强方法,观察图象增强的效果,加深对灰度直方图及直方图均衡化的理解,掌握直方图均衡化方法。

二、实验内容将一张彩色图片转换成灰色图片,做出均衡化后的直方图,并将灰度图和均衡化后的图片对比。

三、实验原理直方图均衡方法的基本原理是:对在图像中像素个数多的灰度值(即对画面起主要作用的灰度值)进行展宽,而对像素个数少的灰度值(即对画面不起主要作用的灰度值)进行归并。

从而达到清晰图像的目的。

四、实验代码及结果clear all;f=imread('14.jpg');%读入灰色图像imwrite(rgb2gray(f),'14Gray.bmp'); %将彩色图片灰度化并保存f1=imread('14Gray.bmp');g=histeq(f1,250);%利用histep()函数对灰色图像进行直方图均衡化处理subplot(121);imshow(f1);title('灰色图像');%显示生成灰色图像subplot(122);imshow(g);title('直方图均衡化处理');%显示生成均衡化以后的图像五、实验结果分析利用imhist()函数对两幅图像的灰度范围进行分析,根据下图可知,灰色图像的灰度范围相对来说非常狭窄,图像质量比较差。

而经过直方图均衡化处理后,图像的对比度及平均亮度明显提高,直方图在整个亮度标度上明显扩展,图像质量明显提高。

实验二空域锐化一、实验目的理解图象锐化的概念,掌握常用空域锐化增强技术。

加深理解和掌握图像锐化的原理和具体算法,理解图象锐化增强的处理过程和特点。

二、实验内容利用一阶微分锐化增强,实现Roberts算子的锐化处理。

观察处理前后图像效果,分析实验结果和算法特点。

三、实验原理Roberts算子是突出图像的细节或者是增强被模糊了的细节。

因此要对图像实现锐化处理,可以用空间微分来完成,但是,这样图像的微分增强了边缘和其他的突变(如噪声)并削弱了灰度变化缓慢区域。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验原理
直方图规定化是用于产生处理后有特殊直方图的图像方法。
令 和 分别为原始图像和期望图像的灰度概率密度函数。对原始图像和期望图像均作直方图均衡化处理,应有:
, ,
由于都是作直方图均衡化处理,所以处理后的原图像的灰度概率密度函数 及理想图像的灰度概率密度函数 是相等的。因此,可以用变换后的原始图像灰度级S代替上式中的V,即 。利用此式可以从原始图像得到希望的图像灰度级。对离散图像,有
figure;imshow(M);
title('直方图规定化后的图像');
figure;imhist(M);
title('规定直方图');
实验数据
将上程序稍做改动后所得结果
加:
Figure;
subplot(1,2,1); imhist(I,64);
subplot(1,2,2); imhist(J,64); 得图:
XX大学实验报告
学院: 专业: 班级:
~~~
学号
~~~~
实验组
~~~
实验时间
~~~~~
指导教师
~~~
成绩
实验项目名称
实验二:数字图像的直方图规定化处理
实验目的
(一)掌握数字图像的直方图规定化处理的算法和方法。
(二)熟悉数字图像的直方图规定化处理的算法原理。
实验要求
按照实验内容及参考程序,独立完成此次实验,记下不懂的知识点ቤተ መጻሕፍቲ ባይዱ查阅资料或者向老师咨询。
, ,
综上所述,数字图像的直方图规定化就是将直方图均衡化后的结果映射到期望的理想直方图上,使图像按人的意愿去变换。数字图像的直方图规定的算法如下:
(一)将原始图像作直方图均衡化处理,求出原图像中每一个灰度级 所对应的变换函数 。
(二)对给定直方图作类似计算,得到理想图像中每一个灰度级 所对应的变换函数 。
figure,imshow(I);
title('原灰色图像');
figure,imhist(I);
title('原图像的灰度直方图');
figure,imhist(J);
title('均衡化图像的直方图');
figure,imshow(J);
title('均衡化图像');
2.文件名:ff.m
I=imread('tire.tif');
(三)找出 的点对,并映射到 。
(四)求出 。
实验步骤
1.准备好的图片,并保存好或者选好MATLAB的工作路径
2.将参考程序稍做修改,并运行。
3.结果分析。
实验内容
程序如下:
1.文件名:fc.m
A=imread('123.jpg');
I=rgb2gray(A);
J=histeq(I);
figure,imshow(A)
2.
实验总结
1.对程序要充分的了解,适当改动程序,对照程序和直方图之间的关系。
2.直方图均衡化处理后,图像的直方图较为平直,各灰度级的值相对均匀。由于灰度级具有均匀的概率分布,图像看起来更清晰了。
指导教师意见
J=histeq(I,32);
[counts,x]=imhist(J);
Q=imread('123.jpg');
figure;imshow(Q);
title('原图像');
A=rgb2gray(Q);
figure;imhist(A);
title('原图像直方图');
M=histeq(A,counts);
相关文档
最新文档