参考:
https://www.zhihu.com/question/20511799

直方图

直方图就是用来统计一幅图像各个亮度的像素的个数,并在一个2维图像上显示。横向(x轴方向)是灰度值,最左边像素值为0(黑),最右边像素值为255(白),纵向(y轴方向)是各像素值在图像中出现的个数。一张照片的明暗可以通过直方图看出来,也就是说我们可以通过直方图知道图像的欠曝和过曝。对于欠曝,形象的可以理解图像太暗了,过曝可理解为图像太亮了。
需要了解的是,相机在记录信息的时候会同时产生噪点。在较亮区域,因为记录下的光线多,所以噪点并不明显。而在较暗区域,相机记录的光线信号很少,噪点就会一下子突显出来。至于为什么在较暗的区域噪点会更明显的原因主要是,因为信噪比(芯片收到的光线信号与芯片本身噪点数量的比值)太低。所以在这种情况下,如果后期再对暗部提亮,噪点就会更加明显。
直方图如下:

那具体如何从直方图中得到这些信息?就需要简单地聊一聊。
直方图的x轴方向还可以被进一步地划分为5个区域,分别是黑色,阴影,中间调,高光和白色。这只是一种感性的认识,至于说多大值称为阴影,完全在主观。

一张理想的图像应该是直方图堆积在中部,最左侧和最右侧都没有被切断。切断或者溢出,是指在直方图左右两个边缘,有很高的柱子堆积,也就是存在很多像素点在左(过暗)右(过亮)两边。
一幅正常的图像的直方图:

一幅欠曝图像的直方图:在视觉上看整体偏暗。而在直方图中看,会看到最左边的像素很多。

一幅过曝图像的直方图:在视觉上看整体很亮。而在直方图中看,最右边的像素(255附近)很多,使得那一块的柱形很高。

%显示图像的直方图,imhist只能输入灰度图进行直方图显示。
I = imread('images/lena.jpg');
channels = size(I,3);
if channels ==3I = rgb2gray(I);
end
figure;imhist(I);title('I的直方图');

初步认识图像的直方图相关推荐

  1. 1数字图像获取:1.2图像灰度直方图

    ----------1图像灰度直方图的概念------ 灰度直方图是反映一幅图像中各灰度级像素出现的频率与灰度级的关系.以灰度级为横坐标,频率为纵坐标绘制频率同灰度级的关系图就是一副灰度图像的直方图. ...

  2. 【图像处理】——图像灰度直方图的绘制(直接调用函数和自定义函数)

    目录 一.灰度直方图概念 二.直接调用opencv的函数caclHist() 1.函数介绍 2.实例 (1)绘制全局直方图 (2)绘制局部的直方图 ​ 三.自定义函数进行灰度直方图的绘制 1.代码 2 ...

  3. OpenCV:利用python来实现图像的直方图均衡化

    文章目录 1.直方图 2.直方图均衡化 3.源代码实现直方图均衡化 1.直方图 直方图: (1) 图像中不同像素等级出现的次数 (2) 图像中具有不同等级的像素关于总像素数目的比值. 我们使用cv2. ...

  4. 【学习OpenCV4】什么是图像的直方图?如何获取直方图?

    图像的直方图 一.什么是图像直方图 二.如何计算图像直方图 三.二维直方图 一.什么是图像直方图   图像直方图是图像像素值的统计学特征.计算代价较小,具有图像平移.旋转.缩放不变性等众多优点,广泛地 ...

  5. python统计图像灰度直方图_python 对一幅灰度图像进行直方图均衡化

    from PIL import Image from pylab import * from numpy import * def histeq(im,nbr_bins = 256): "& ...

  6. MATLAB实现图像灰度直方图

    (近期有用到灰度直方图的情况,就稍微做了一点点小总结,第一次总结,借鉴了很多博主的文章,下面会码出链接,膜拜大佬~) 1. 图像灰度直方图 灰度直方图是将数字图像中所有像素按灰度值的大小,统计每种像素 ...

  7. 图像灰度直方图匹配(直方图规定化,Histogram Matching)实验

    一.使用相同图像,不同灰度分布做匹配 matlab代码: %% 两张图片histmatch,直方图均衡后match原图 clc;close all;clear all ImgIn=rgb2gray(i ...

  8. 使用openCV画出一幅图像的直方图

    // 对单通道图像做直方图 // #include "cv.h" #include "highgui.h" #include <stdio.h> # ...

  9. [Python从零到壹] 五十一.图像增强及运算篇之图像灰度直方图对比分析万字详解

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

  10. [Python从零到壹] 五十二.图像增强及运算篇之图像掩膜直方图和HS直方图

    欢迎大家来到"Python从零到壹",在这里我将分享约200篇Python系列文章,带大家一起去学习和玩耍,看看Python这个有趣的世界.所有文章都将结合案例.代码和作者的经验讲 ...

最新文章

  1. 关于UUID的二三事
  2. admin.0001_initial is applied before its dependency users.0001_initial on database 'default
  3. JavaScript变量和作用域
  4. Redis 排行榜 相同分数根据时间优先排行
  5. java微信支付超时_Java微信支付之关闭订单
  6. 自学编程这几点非常重要
  7. mongodb lbs java_MongoDB开发LBS应用
  8. uWSGI, Gunicorn,ngnix 服务器 详解
  9. linux系统截图有快捷键吗,Linux下用快捷键截图
  10. java根据书签添加内容_Java PDF书签——添加、编辑、删除、读取书签
  11. kali Linux的优点与缺点
  12. php对比两张数据表,【后端开发】PHP比较两个表不同数据
  13. 给合肥市社保局和社保明细打印系统提一提改进建议
  14. 云上业务怎样更好地防御大流量攻击?
  15. 人际沟通与社交媒体(媒介沟通的优缺点)
  16. python所用到的英语单词_用Python自制考研英语单词手册
  17. 微信支付二维码显示(二)
  18. 受疫情影响,超七成美国科技公司暂停招聘或裁员
  19. Flutter侧边栏控件-SideBar
  20. WPS如何在两个页面之间插入空白页

热门文章

  1. Linux虚拟机出现卡死且无法结束进程的解决办法
  2. java数组的基本使用
  3. mysql水平分表实践记录_MYSQL 分表实践
  4. 华为8lite支持云闪付吗_2K/120Hz屏?华为P40Pro尊享版价格曝光 | 一加8曝4.15发布
  5. LeetCode:每日一题(2020.4.6)
  6. 使用JMH做Java微基准测试(三)测试参数状态State
  7. 使用File I/O类实现文件的读写操作
  8. 三维重建笔记_光束平差法(Bundle Adjustment, BA)
  9. opencv数字图像处理(2) - 直方图处理方法【直方图均衡化与直方图规定化】
  10. 图像语义分割(9)-DeepLabV3: 再次思考用于图像语义分割的空洞卷积