冈萨雷斯数字图像处理-数字图像基础(Matlab)-图像的直方图处理

图像的直方图

图像的直方图处理是从概率统计的角度出发,对图像灰度级的概率分布进行变换,从而达到使图像细节丰富、动态范围较大、便于观测和理解的目的。

直方图处理是多种空间域处理技术的基础,可以直接用于图像的增强以及图像的压缩和分割。在灰度级范围为[0,L-1]的数字图像的直方图可以表示为:


其中rk是第k级灰度值,nk是图像中灰度为rk的像素的个数,MN分别是图像的行和列数。

我们首先对下列图像进行观测。我们可以看到,在亮图像中,直方图的分量集中在灰度级的高端,而在暗图像中,中直方图的分量倾向于灰度级的低端。低对比度的图像具有较窄的直方图,且集中于灰度级的中部。对于单色图像,这就意味着暗淡,好像灰度被冲淡了一样。而高对比度的图像的直方图的分量覆盖了很宽的灰度级范围,而且像素的分布比较均匀。因此,若一幅图像的像素倾向于占据整个可能的灰度级并且分布均匀,那么该图像会有高对比度的外观并展示灰色调的较大变化。最终效果将是一幅灰度细节丰富且动态范围较大的图像。


下面是图像直方图绘制的Matlab程序,其中numel(image)是求取图像的M×N的值,imhist是求取图像的直方图,这里进行了归一化处理,使每个值处于[0,1]范围内。bar()用于显示直方图。

clear
clc
%%读取图像数据
Cells_bright=imread('细胞亮.jpg');
Cells_dark=imread('细胞暗.jpg');
Cells_low_contrast=imread('细胞低对比度.jpg');
Cells_hight_contrast=imread('细胞高对比度.jpg');

%%灰度化
Cells_bright_gray=rgb2gray(Cells_bright);
Cells_dark_gray=rgb2gray(Cells_dark);
Cells_low_contrast_gray=rgb2gray(Cells_low_contrast);
Cells_hight_contrast_gray=rgb2gray(Cells_hight_contrast);

%%求直方图
h_bright         =imhist(Cells_bright_gray)/numel(Cells_bright_gray);
h_dark           =imhist(Cells_dark_gray)/numel(Cells_dark_gray);
h_lo
  • 1
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值