matlab绘制直方图程序

合集下载

MATLAB绘图初步讲解实例教程

MATLAB绘图初步讲解实例教程

详细描述
MATLAB提供了交互式图形工具,如 `ginput`、`axes_crossing_info`等,使用户 能够与图形进行交互。通过这些工具,用户 可以获取图形的坐标值、筛选数据等操作, 从而更深入地分析数据。交互式图形在数据 探索和可视化方面具有很高的实用价值。
04
实例教程
绘制正弦函数和余弦函数
等,可以提高绘图效率和精度。
实践项目
02
通过实践项目来巩固和加深对MATLAB绘图的理解,例如数据
拟合、图像处理等。
参加在线课程和论坛
03
参加在线课程和论坛,与其他用户交流和学习,可以扩展视野
和知识面。
THANKS
感谢观看
mat制基本图形 • 图形进阶技巧 • 实例教程 • 总结与扩展
01
MATLAB绘图基础
绘图函数简介
bar()
绘制条形图,用于 展示分类数据或离 散数据。
hist()
绘制直方图,用于 展示数据的分布情 况。
plot()
绘制二维线图,是 MATLAB中最常用 的绘图函数。
05
总结与扩展
MATLAB绘图的优势与不足
强大的数据处理能力
MATLAB提供了丰富的数据处理函数,方便 用户进行数据分析和可视化。
丰富的图形样式
MATLAB支持多种图形样式,包括散点图、 线图、柱状图等,可以满足各种绘图需求。
MATLAB绘图的优势与不足
• 交互式绘图:MATLAB支持交互式绘图,用户可以通过鼠 标操作对图形进行缩放、旋转等操作。
```
绘制饼状图
在此添加您的文本17字
总结词:饼状图用于展示各类别数据在总数据中所占的比 例。
在此添加您的文本16字

课设报告正文(MATLAB的图像直方图的计算与显示)

课设报告正文(MATLAB的图像直方图的计算与显示)

课设报告正⽂(MATLAB的图像直⽅图的计算与显⽰)⽬录摘要........................................................................ I 1 基础介绍 (1)1.1MATLAB简介 (1)1.2数字图像处理简介 (1)2 设计原理分析 (3)2.1灰度直⽅图的定义 (3)2.2设计原理 (3)2.3常⽤函数介绍 (3)3 程序及运⾏结果 (4)3.1流程图 (4)3.2源程序 (4)3.3运⾏结果 (5)3.4库函数运⾏结果 (7)4设计总结 (8)5⼼得体会 (9)参考⽂献 (10)1 基础介绍1.1MATLAB简介MATLAB是由美国mathworks公司发布的主要⾯对科学计算、可视化以及交互式程序设计的⾼科技计算环境。

它将数值分析、矩阵计算、科学数据可视化以及⾮线性动态系统的建模和仿真等诸多强⼤功能集成在⼀个易于使⽤的视窗环境中,为科学研究、⼯程设计以及必须进⾏有效数值计算的众多科学领域提供了⼀种全⾯的解决⽅案,并在很⼤程度上摆脱了传统⾮交互式程序设计语⾔(如C、Fortran)的编辑模式,代表了当今国际科学计算软件的先进⽔平。

MATLAB和Mathematica、Maple并称为三⼤数学软件。

它在数学类科技应⽤软件中在数值计算⽅⾯⾸屈⼀指。

MATLAB可以进⾏矩阵运算、绘制函数和数据、实现算法、创建⽤户界⾯、连接其他编程语⾔的程序等,主要应⽤于⼯程计算、控制设计、信号处理与通讯、图像处理、信号检测、⾦融建模设计与分析等领域。

MATLAB的基本数据单位是矩阵,它的指令表达式与数学、⼯程中常⽤的形式⼗分相似,故⽤MATLAB来解算问题要⽐⽤C,FORTRAN等语⾔完成相同的事情简捷得多,并且MATLAB也吸收了像Maple等软件的优点,使MATLAB成为⼀个强⼤的数学软件。

在新的版本中也加⼊了对C,FORTRAN,C++ ,JAVA的⽀持。

(完整版)数字图像处理MATLAB程序【完整版】

(完整版)数字图像处理MATLAB程序【完整版】

第一部分数字图像处理实验一图像的点运算实验1.1 直方图一.实验目的1.熟悉matlab图像处理工具箱及直方图函数的使用;2.理解和掌握直方图原理和方法;二.实验设备1.PC机一台;2.软件matlab。

三.程序设计在matlab环境中,程序首先读取图像,然后调用直方图函数,设置相关参数,再输出处理后的图像。

I=imread('cameraman.tif');%读取图像subplot(1,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(1,2,2),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。

书写程序时,首先读取图像,一般调用matlab自带的图像,如:cameraman图像;再调用相应的直方图函数,设置参数;最后输出处理后的图像;3.浏览源程序并理解含义;4.运行,观察显示结果;5.结束运行,退出;五.实验结果观察图像matlab环境下的直方图分布。

(a)原始图像 (b)原始图像直方图六.实验报告要求1、给出实验原理过程及实现代码;2、输入一幅灰度图像,给出其灰度直方图结果,并进行灰度直方图分布原理分析。

实验1.2 灰度均衡一.实验目的1.熟悉matlab图像处理工具箱中灰度均衡函数的使用;2.理解和掌握灰度均衡原理和实现方法;二.实验设备1.PC机一台;2.软件matlab;三.程序设计在matlab环境中,程序首先读取图像,然后调用灰度均衡函数,设置相关参数,再输出处理后的图像。

I=imread('cameraman.tif');%读取图像subplot(2,2,1),imshow(I) %输出图像title('原始图像') %在原始图像中加标题subplot(2,2,3),imhist(I) %输出原图直方图title('原始图像直方图') %在原图直方图上加标题a=histeq(I,256); %直方图均衡化,灰度级为256subplot(2,2,2),imshow(a) %输出均衡化后图像title('均衡化后图像') %在均衡化后图像中加标题subplot(2,2,4),imhist(a) %输出均衡化后直方图title('均衡化后图像直方图') %在均衡化后直方图上加标题四.实验步骤1. 启动matlab双击桌面matlab图标启动matlab环境;2. 在matlab命令窗口中输入相应程序。

用MATLAB统计图像直方

用MATLAB统计图像直方

02
imhist(I); % 计算并显示归一化直方图
03
```
04
直方图均衡化
直方图均衡化的定义
直方图均衡化是一种图像处理技术, 通过对图像的灰度直方图进行变换, 改善图像的对比度,增强图像的细节 和清晰度。
通过扩展图像的灰度级别范围,使得 图像的细节更加突出,提高图像的可 视化效果。
Matlab实现直方图均衡化
01 使用Matlab中的`histeq`函数,可以对图 像进行直方图均衡化处理。
02 首先,读取图像文件并将其转换为灰度图 像。
03
然后,使用`histeq`函数对灰度图像进行直 方图均衡化处理。
04
最后,显示处理后的图像。
直方图均衡化的效果
01
02
03
直方图均衡化可以显著 改善图像的对比度,增 强图像的细节和清晰度
彩色图像直方图
示例代码
1
```matlab
2
3
I = imread('image.jpg'); % 读取彩色图像
彩色图像直方图
imhist(I); % 计算并显示彩色直方图 ```
归一化直方图
归一化直方图
归一化直方图是一种将像素值范围限制在特定范围内的直方图,可以更好地反映图像的细节和特征。 在Matlab中,可以使用`imhist`函数计算归一化直方图。
直方图可以用于提取图像中的特征,如边缘、纹理等,也可以用于 图像分割,将图像划分为不同的区域。
直方图的计算方法
01
累积直方图
02
归一化直方图
首先计算原始直方图,然后将每个像 素强度值的频数累加起来,得到累积 直方图。累积直方图可以用于快速查 找特定像素强度值的范围。

matlab表现离散型数据的函数

matlab表现离散型数据的函数

matlab表现离散型数据的函数在MATLAB中有很多不同的函数可以用来描述和展示离散型数据。

这些函数可以用于统计分析、数据可视化以及模拟等应用。

下面我会介绍几个常用的MATLAB函数,来展示离散型数据的表现。

一、histogram函数histogram函数可以用来绘制直方图,用于展示离散型数据的分布情况。

直方图将数据分成一系列的柱子,每个柱子表示一定范围内的数据频数。

在MATLAB 中,我们可以使用histogram函数来计算和绘制直方图,如下所示:matlabdata = [1,2,3,4,4,4,5,5,5,5]; % 一组离散型数据histogram(data);运行上述代码后,MATLAB会自动计算数据的频数,并绘制出直方图。

二、bar函数bar函数可以用来绘制柱状图,也适合展示离散型数据的分布情况。

与直方图不同,柱状图的柱子宽度是一样的,并且通常是水平或垂直排列。

在MATLAB中,我们可以使用bar函数来计算和绘制柱状图,如下所示:matlabdata = [1,2,3,4,4,4,5,5,5,5]; % 一组离散型数据unique_data = unique(data); % 获取去重后的离散型数据counts = histcounts(data, unique_data); % 计算每个数据值的频数bar(unique_data, counts);上述代码中,我们先使用unique函数来获取去重后的离散型数据值,并使用histcounts函数来计算每个数据值的频数,然后将这些频数作为柱状图的高度绘制出来。

三、boxplot函数boxplot函数可以用来绘制箱线图,用于展示离散型数据的分布情况和离群点。

箱线图主要展示了数据的中位数、上下四分位数以及上下边界。

在MATLAB中,我们可以使用boxplot函数来绘制箱线图,如下所示:matlabdata = [1,2,3,4,4,4,5,5,5,5]; % 一组离散型数据boxplot(data);运行上述代码后,MATLAB会自动计算出箱线图的各个参数,并将其绘制出来。

matlabhistogram函数

matlabhistogram函数

matlabhistogram函数【原创版】目录1.MATLAB histogram 函数概述2.histogram 函数的基本语法3.histogram 函数的参数及其用法4.示例:使用 histogram 函数创建直方图5.histogram 函数在数据分析中的应用正文【1.MATLAB histogram 函数概述】MATLAB 是一种广泛使用的科学计算软件,其内置的 histogram 函数能够快速方便地创建直方图。

直方图是一种统计图形,用于表示数据的分布情况,对于数据分析和可视化非常有帮助。

【2.histogram 函数的基本语法】在 MATLAB 中,要使用 histogram 函数创建直方图,需要遵循以下基本语法:```matlabhistogram(x, bins, centers, orientation,...);```其中,参数 x 表示输入数据,bins 表示划分的区间数,centers 表示每个区间的中心点,orientation 表示直方图的方向,等等。

【3.histogram 函数的参数及其用法】下面对 histogram 函数的各个参数进行详细介绍:- x:输入数据,可以是向量、矩阵或者数组。

- bins:划分的区间数,可以是一个整数或者一个向量。

当 bins 为整数时,MATLAB 会自动计算区间宽度;当 bins 为向量时,MATLAB 会根据向量的长度自动计算区间宽度。

- centers:每个区间的中心点,可以是一个向量或者一个标量。

当bins 为向量时,centers 必须与 bins 同长度;当 bins 为整数时,centers 可以是一个标量,表示所有区间的中心点都等于该标量。

- orientation:直方图的方向,可以是 "horizontal"(水平方向)或者 "vertical"(垂直方向)。

默认值为 "horizontal"。

灰度直方图,用MATLAB实现imhist

灰度直方图,用MATLAB实现imhist

灰度直⽅图,⽤MATLAB实现imhist灰度直⽅图:灰度直⽅图描述了⼀幅图像的绘图统计信息,主要应⽤于图像分割和图像灰度变换等处理过程中。

从数学上说它是⼀个关于灰度的函数,如令x表⽰灰度值(⼀般0≤x≤255),则f(x)表⽰当x为特定灰度时,⼀幅图像上灰度值为x的像素的数量,要注意的是这⾥的函数f(x)是⼀个离散的函数。

从图形上来说,灰度直⽅图就是⼀个⼆维图,横坐标表⽰灰度值(灰度级别),纵坐标表⽰具有各个灰度值或者灰度级别的像素在图像中出现的次数或者概率;imhist⽬的:获取图像的灰度直⽅图。

⽤法:imhist( img );直接显⽰图像img的灰度直⽅图;imhist(img,n);显⽰⼀个统计n个灰度级信息的直⽅图,默认n为256;[counts, x] = imhist( img ) ;获取直⽅图信息,x为灰度级向量(⼀维),记录着图像中灰度的所有值,⽽counts也是⼀个向量(⼀维),⾥⾯记录着x 中对应灰度值出现的个数。

注:imhist只能统计灰度图像的直⽅图,⽽对于RGB图像则需要分别统计每个通道的直⽅图。

故使⽤imhist时,要将rgb图转换为灰度图。

clc;clear all;i=imread('lena.jpg');if(numel(size(i))==3) %判断图像是否⾮灰度图像; i=rgb2gray(i);endimhist(i); %⽤⾃带函数imhist实现;title('imhist');[m,n]=size(i);h=zeros(1,256); %⽣成⼀个1*256的0矩阵;for a=1:m for b=1:n h(i(a,b)+1)=h(i(a,b)+1)+1; %统计每个像素的数值,由于i(a,b)代表像素数值有0数值,⽽MATLAB中矩阵下标从1开始,所以⽤i(a,b)+1代替下标; endendfigure;bar(h); %⽤bar画图函数实现;axis([0 255 0 3000]); %控制bar的坐标范围,axis([Xmin Xmax Ymin Ymax]);title('histogram');xlabel('intensity');ylabel('frequency');实验结果如下:。

直方图统计及均衡化matlab代码

直方图统计及均衡化matlab代码

自己编的代码Matlab中自带的函数clc;clear all;%用自己编的函数pic1=imread('188_2.jpg');%修改数字可以看到另一幅图片的效果pic1=rgb2gray(pic1);subplot(221);imshow(pic1);title('均衡化前的图像'); subplot(222);imhist(pic1);title('均衡化前的直方图');L=256;%设置灰度级为256[width,height]=size(pic1);%求nknk=zeros(1,L);for i=0:L-1num=find(pic1==(i+1));nk(i+1)=length(num);end%求pr(rk)=nk/MNpr=zeros(1,L);for i=1:Lpr(i)=nk(i)/(width*height);end%pc存储的就是累计的归一化直方图pc=zeros(1,L);for i=1:Lfor j=1:ipc(i)=pc(i)+pr(j);endendsk=zeros(1,L);for i=1:Lsk(i)=round((L-1)*pc(i));end%求pr(sk),即计算现有每个灰度级出现的概率并显示在屏幕上for i=0:L-1pr(i+1)=sum(pc(find(sk==i)));endpr %显示pr值%替换原有图片pic2=pic1;for i=1:Lpic2(find(pic2==(i-1)))=sk(i);endsubplot(223);imshow(pic2);title('均衡化后的图像'); subplot(224);imhist(pic2);title('均衡化后的直方图');%用matlab自带的函数pic1=imread('188_2.jpg');%先把要处理的图像读入pic1=rgb2gray(pic1);%转化成灰度图像%显示灰度图像与直方图figure;subplot(221);imshow(pic1);title('均衡化前的图像'); subplot(222);imhist(pic1);title('均衡化前的直方图');%直方图均衡化pic2=histeq(pic1);subplot(223);imshow(pic2);title('均衡化后的图像'); subplot(224);imhist(pic2);title('均衡化后的直方图');。

MATLAB直方图均衡算法

MATLAB直方图均衡算法

直方图均衡一、直方图的定义假设图像在区间[0,G]内共有L 个灰度级,其直方图定义为离散函数:h(r k )=n k其中r k 为区间[0,G]内的第k 级灰度值,n k 为灰度值是r k 的像素个数。

使用所有元素的h(r k )除以图像中的像素总数n 可以得到归一化直方图,即:p(r k )=n k /n其中k=1,2,…,L 。

p(r k )表示灰度级r k 的出现概率。

二、绘制直方图利用MATLAB 内嵌函数imhist 可绘制直方图,基本语法为:h =imhist(f,b)其中,f 为输入图像,h 为直方图h(r k ),b 是直方图中显示的灰度级的个数,即h 中所含元素的个数,默认为256。

三、直方图均衡算法假设灰度级为归一化至范围[0,1]内的连续量,并令p r (r)表示某个给定图像中的灰度级的概率密度函数(PDF),假设作如下变换得到输出灰度级s 为:0()()r r s T r p w dw ==⎰\*MERGEFORMAT (1)其中s 同样为随机变量,则s 的PDF 由下式可得:()()s r drp s p r ds =\*MERGEFORMAT (2)对式(1)的定积分求导得:()()r ds dT r p r dr dr ==\*MERGEFORMAT (3)将式(3)代入式(2)可得p s (s)=1,即s 属于均匀分布,考虑去归一化后,s 的值域为[0,G],与r 的取值范围一样。

实际应用中,图片的灰度值一般不连续,我们可以用出现频率(直方图值)与求和代替PDF 和积分,即:00()()k k j k k r j i i n s T r p r n =====∑∑\*MERGEFORMAT (4)其中,n 为图像中像素的总数。

由上式可知,由于输入直方图是PDF 的近似,所以输出s 并不一定满足绝对的均匀分布,但其具有展开输入直方图的趋势。

四、仿真验证MATLAB代码:img_ori=imread('5.jpg');%读取原图img_gray=rgb2gray(img_ori);%将原图转换为灰度图[img_eq T]=histeq(img_gray);%直方图均衡,T为变换函数subplot(2,2,1,'position',[00.550.240.4]),imshow(img_gray);%显示原图title('原图');subplot(2,2,2,'position',[0.30.550.60.4]),imhist(img_gray);title('原图的直方图');subplot(2,2,3,'position',[00.050.240.4]),imshow(img_eq);%显示处理后的图片title('直方图均衡后图片');subplot(2,2,4,'position',[0.30.050.60.4]),imhist(img_eq);title('均衡后的直方图');仿真结果1:结果讨论:如上图所示,原图像素的灰度值大多集中在150-255之间,使得图像颜色发白,在直方图均衡后,原直方图被相应展宽,各灰度级的像素个数较为平均,使得输出图像对比度有明显提高。

matlab histogram函数百分比

matlab histogram函数百分比

matlab histogram函数百分比Matlab是一种强大的数学软件,它提供了许多有用的函数来处理和分析数据。

其中一个非常有用的函数是histogram函数,它可以用来绘制数据的直方图。

直方图是一种用来表示数据分布的图形,它将数据分成若干个区间,并统计每个区间内数据的数量或百分比。

在Matlab 中,我们可以使用histogram函数来绘制直方图,并且可以选择是否显示百分比。

histogram函数的基本用法如下:```matlabhistogram(data)```其中,data是一个包含数据的向量或矩阵。

该函数将数据分成若干个区间,并统计每个区间内数据的数量。

默认情况下,每个区间的宽度相等,并且区间的数量由Matlab自动确定。

如果要显示百分比,可以使用'Normalization'参数。

该参数有两个可选值:'count'和'probability'。

'count'表示显示每个区间内数据的数量,'probability'表示显示每个区间内数据的百分比。

例如,要显示每个区间内数据的百分比,可以使用以下代码:```matlabhistogram(data,'Normalization','probability')```除了'Normalization'参数外,histogram函数还有许多其他参数可以控制直方图的外观和行为。

例如,可以使用'BinWidth'参数来指定每个区间的宽度,使用'BinLimits'参数来指定区间的范围,使用'FaceColor'参数来指定直方图的颜色等等。

有关所有可用参数的详细信息,请参阅Matlab文档。

在使用histogram函数时,还需要注意一些细节。

例如,如果数据中包含NaN值,则需要使用'omitnan'参数来忽略这些值。

matlab中histogram高级用法

matlab中histogram高级用法

matlab中histogram高级用法在 MATLAB 中,`histogram` 函数是用于创建直方图的常用函数。

除了基本的用法,`histogram` 还有一些高级特性,可以用来定制直方图的外观和行为。

以下是一些高级用法的例子:1. 指定直方图类型:默认情况下,`histogram` 创建的是均匀间隔的直方图。

但是,你可以通过设置 `'HistogramType'` 属性来指定其他类型的直方图,例如 'auto', 'fd', 'fdm', 'kde', 'nb', 'std', 'y'。

2. 设置直方图的边界和颜色:使用 `'Edges'` 属性来设置直方图的边界。

使用 `'FaceColor'` 和 `'EdgeColor'` 属性来设置直方图的颜色。

3. 显示直方图的比例尺:使用 `'Normalization'` 属性来控制直方图的归一化方式,例如 'cdf', 'pdf', 'count', 'probability', 'density'。

4. 显示直方图的标签和标题:使用 `'Title'` 和 `'XLabel'` 属性来添加标题和 x 轴标签。

使用 `'YLabel'` 属性来添加 y 轴标签。

5. 自定义直方图的外观:使用 `'BarWidth'` 属性来控制条形的宽度。

使用 `'BinMethod'` 属性来选择用于计算条形的高度的方法,例如'auto', 'fd', 'scott', 'rice', 'histcounts', 'histogram'.6. 与数据一起使用:将数据作为输入传递给 `histogram` 函数,以根据数据创建直方图。

MATLAB灰度直方图均衡化程序源代码

MATLAB灰度直方图均衡化程序源代码

MA TLAB灰度直方图均衡化程序源代码clear;clc;Y uanTu=imread('DSCF6253.jpg');%读入原图并显示figure(1),imshow(Y uanTu),title('输入的彩色JPG图像'); PicGray=rgb2gray(YuanTu); %将原图灰度化,并显示及保存figure(2),imshow(PicGray),title('原灰度图像');imwrite(PicGray,'PicGray.bmp');[m,n]=size(PicGray);GZ=zeros(1,256);for i=1:mfor j=1:nGZ(PicGray(i,j)+1)=GZ(PicGray(i,j)+1)+1;endendfigure(3),bar(0:255,GZ,'g'),title('原个数灰度直方图'); %绘制直方图xlabel('灰度值'),ylabel('出现个数');PZ=zeros(1,256);for i=1:256PZ(i)=GZ(i)/(m*n);endfigure(4),bar(0:255,PZ,'g'),title('原频率灰度直方图'); %绘制频率直方图xlabel('灰度值'),ylabel('出现频率');S1=zeros(1,256);for i=1:256 %将原频率灰度直方图累加for j=1:iS1(i)=PZ(j)+S1(i);endend%figure(7),bar(S1);S2=int16((S1*255)+0.5); %新的灰度级,即将Sk归到相近级Slast=zeros(1,256);for i=1:256Slast(S2(i))=PZ(i)+Slast(S2(i)); %计算现有每个灰度级出现的概率endfigure(5),bar(0:255,Slast,'g'),title('均衡化后灰度直方图'); %绘制频率直方图xlabel('灰度值'),ylabel('出现频率');Jhh=PicGray; %将转换后的灰度级映射到原图中for i=0:255Jhh(find(PicGray==i))=S2(i+1);endfigure(6),imshow(Jhh); %显示均衡化后的图像title('均衡化后图像')imwrite(Jhh,'Last.bmp');。

用MATLAB统计图像直方图

用MATLAB统计图像直方图

3
直方图均衡化能够改善图像的对比度,突出细节, 使图像更加清晰。
Matlab实现直方图均衡化
01
在Matlab中,可以使用内置的`histeq`函数实现直方
图均衡化。
02
调用`histeq`函数时,需要将原始图像作为输入,并
返回均衡化后的图像。
03
Matlab还提供了其他函数和工具箱,如`imhist`和
5. 分析直方图
根据直方图的形状和分布情况, 可以对图像的亮度、对比度和分 布情况进行分析和评估。
03
图像直方图的计算
灰度图像直方图
灰度直方图
用于描述灰度图像中像素值的分 布情况,通过统计每个灰度级像 素的数量,可以反映图像的亮度 和对比度。
计算方法
遍历图像中的每个像素,统计每 个灰度级出现的次数,最终形成 灰度直方图。
直方图统计步骤
2. 转换为灰度图像
如果需要统计灰度图像的直方图, 可以使用rgb2gray函数将彩色图 像转换为灰度图像。
3. 统计像素值
使用imhist函数统计每个像素值 范围内的像素数量,生成直方图 数据。
1. 读取图像
使用imread函数读取图像文件。
4. 显示直方图
使用bar函数显示直方图。
VS
归一化方法
将直方图的值除以最大值,使其范围在01之间,便于比较不同图像的直方图特征 。
04
直方图均衡化
直方图均衡化的基本原理
1
直方图均衡化通过拉伸图像的灰度直方图,使其 充满整个灰度级别范围,从而提高图像的对比度。
2
通过计算原始图像的直方图,找到累积分布函数 (CDF),然后使用CDF对原始图像进行灰度映 射,实现直方图均衡化。

MATLAB直方图均衡化代码

MATLAB直方图均衡化代码
se all
I = imread('C:\Documents and Settings\dmt\桌面\实习\图像\灰度图像\lenna.bmp')
imshow(I);
imhist(I);
直方图和直方图均衡的Matlab完整程序 2010-06-04 15:43:10
title('灰度化后的图像')
%二,绘制直方图
[m,n]=size(PS); %测量图像尺寸参数
GP=zeros(1,256); %预创建存放灰度出现概率的向量
for k=0:255
y(i,j)=bmap(I(i,j)+1);
end
end
y=uint8(y);
figure;
imshow(y);
clear all;
I = imread('1.jpg');
I=rgb2gray(I); %灰度化
%绘制直方图
[m,n]=size(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
temp=0;
for j=1:i
temp=temp+hf(j);
end
bmap(i)=floor(temp*255/(m*n));
end
y=zeros(m,n);
for i=1:m
for j=1:n

基于Matlab的图像直方图规定化的实现

基于Matlab的图像直方图规定化的实现

1 Matlab程序流程图
2是girl的原图,图
是标准直方图,图5是
图匹配到标准后的直方图。

视觉上看两幅图是有明显变化的,两幅图的直方图也有比较
图2 girl原图
图3 girl原图的直方图
图4 标准直方图
图5 girl匹配到标准的图
图6 girl匹配到标准的直方图
直方图规定化能够产生特定的直方图,对图像中需要研究的灰度进行增强。

仿真结果表明直方图规定化能够有选择地对需要研究的灰度范围进行对比度增强,得到期望的增
图像增强技术中的直方图规定化技术是应用范围非常广的技术,在其他复杂图像处理技术(如分割技术)中也起到了比较重要的作用。

许多新技术、新思想的提出与新的应用方向的出现给该技术带来了蓬勃生机,使得该技术不断推
参考文献
基于直方图的高效图像增强算法研究
杭州电子科技大学,2014.
李庆.数字图像处理及MATLAB
,2010.
.数字图像处理[M].武汉:。

matlab的imhist函数

matlab的imhist函数

matlab的imhist函数
imhist函数是Matlab中用于绘制图像直方图的函数。

该函数可以帮助用户快速分析图像中像素值的分布情况。

具体而言,imhist 函数可以输出图像中每个灰度级别的像素数量,并以直方图的形式展示。

该函数的使用也非常简单,只需要将图像作为输入参数即可。

在绘制直方图时,用户还可以设置直方图的颜色、数据类型以及直方图的坐标轴等参数。

除此之外,用户还可以使用imhist函数来进行直方图均衡化、直方图匹配等图像处理操作,从而提高图像的质量和清晰度。

总体来说,imhist函数是Matlab中非常重要的图像分析和处理工具,可以帮助用户更好地理解和处理图像数据。

- 1 -。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
相关文档
最新文档