MATLAB-数字图像处理图像直⽅图归⼀化
图像直⽅图归⼀化
图像直⽅图概念:
图像直⽅图是反映⼀个图像像素分布的统计表,其实横坐标代表了图像像素的种类,可以是灰度的,也可以是彩⾊的。纵坐标代表了每⼀种颜⾊值在图像中的像素总数或者占所有像素个数的百分⽐。图像是由像素构成,因为反映像素分布的直⽅图往往可以作为图像⼀个很重要的特征。
图像灰度直⽅图:⼀副数字图像有[0~255]灰度级,直⽅图定义如下:
其中,是第k个灰度级(如:255),是该灰度级的个数。
归⼀化直⽅图定义如下:
即:第k个灰度级出现的数量,⽐上所有灰度级数量总和,也就是概率。
matlab直方图获得图像直⽅图:
t=imread('a1.jpg')
subplot(1,2,1),imshow(t),title('原图')
subplot(1,2,2),imhist(t),title('图像直⽅图')
效果图:
Imhist:
该函数⽤于获取图像数据直⽅图。在图像增强技术中,图像灰度级直⽅图有着重要的意义,是直⽅图修改技术、直⽅图均衡化等⼀些图像处理技术的基础。在matlab 的命令窗⼝中键⼊doc imhist或help imhist即可获得该函数的帮助信息。
调⽤格式:
imhist(I,n)
imhist(X,map)
[counts,x] = imhist(I)
说明:imhist(I,n)其中,I为灰度的输⼊图像,n为指定的灰度级数⽬,缺省值为256;imhist(X,map)计算和显⽰索引⾊图像X的直⽅
图,map为调⾊板。⽤stem(x,counts)同样可以显⽰直⽅图。counts和x分别为返回直⽅图数据向量和相应的彩⾊向量。
这⾥着重说⼀下imhist(I,n)的⽤法:
验证代码:
t=imread('a1.jpg')
subplot(2,3,1),imshow(t),title('原图')
subplot(2,3,2),imhist(t),title('灰度级数默认:256')
subplot(2,3,3),imhist(t,128),title('灰度级数:128')
subplot(2,3,4),imhist(t,64),title('灰度级数:64')
subplot(2,3,5),imhist(t,32),title('灰度级数:32')
subplot(2,3,6),imhist(t,16),title('灰度级数:16')
结果图
总结imhist(I,n):
n的定义是灰度级数,这⾥我们可以理解为将0~255分成⼏份,⽐如默认为256,就是分成256份,⼀份是1,所以灰度值每隔1就统计⼀次;⼜n为128,则把0-255分成128份,⼀份为2,灰度值每隔2统计⼀次,所以从对⽐图像看,n为128的看起来⽐n为256的更稀疏。
[counts,x] = imhist(I)这句话的意思是,获取直⽅图的横坐标和纵坐标,即各个像素级,以及每个像素级上的像素出现的次数,这个有个易错点,就是,counts其实是直⽅图的纵坐标值,⽽x才是直⽅图的横坐标。
那么获得这两个值有什么⽤呢? 这⾥是可以利⽤这两个值,⽤stem函数绘出统计图像
上代码:
F=imread('a1.jpg');
I=rgb2gray(F);
subplot(1,3,1),imshow(I),title('原图')
subplot(1,3,2),imhist(I),title('原图的图像直⽅图')
[count,x]=imhist(I)
% 获取直⽅图的横坐标和纵坐标,即各个像素级,以及每个像素级上的像素出现的次数 counts:纵坐标 x:横坐标
subplot(1,3,3),stem(x,count),title('根据图像直⽅图绘制的统计图')
% 通过刚才得到的值,绘制条形图。
这⾥看出stem绘出的图像和imhist绘出的图像其实是⼀样的,只是stem绘出的图像统计了次数。
如果这⾥我们需要将图像直⽅图归⼀化,其实就是将纵坐标变成当前次数占总次数的概率,这个也很
简单,就需要将stem的counts先除以总像素数量就⾏。
代码:
F=imread('a1.jpg');
I=rgb2gray(F);
[m,n]=size(I)
subplot(1,4,1),imshow(I),title('原图')
subplot(1,4,2),imhist(I),title('原图的图像直⽅图')
[count,x]=imhist(I)
subplot(1,4,3),stem(x,count),title('根据图像直⽅图绘制的统计图')
count=count/m/n
% 获取直⽅图的横坐标和纵坐标,即各个像素级,以及每个像素级上的像素出现的次数 counts:纵坐标 x:横坐标
subplot(1,4,4),stem(x,count),title('图像直⽅图归⼀化')
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论