本篇介绍数字图像处理中的图像直方图,读完本文,您将达到仅仅使用C语言来绘制一张图像的灰度直方图和彩色直方图,而完全不用依赖任何第三方库。

[定义与算法]

[直方图定义]

直方图包括灰度直方图和彩色直方图两类,如果把灰度直方图看作是灰度通道的直方图,那么,彩色直方图可以看作是R/G/B三通道的独立直方图。

灰度直方图描述的是图像中该灰度级对应的像素个数,也就是像素的统计信息。所谓的灰度级,就是像素的取值范围,通常为0-255,共256个值,因此对应256个灰度级。

我们如何绘制直方图呢?如果我们以横坐标表示灰度级,纵坐标表示该灰度级像素的个数,以下图Fig.1所示测试图为例来做说明。

Fig.1 直方图示意图

图中左边Test为一张宽高4×4大小的灰度图,不过我们使用了彩色来区分不同的灰度值。我们以横坐标表示灰度级,纵坐标表示像素个数,用对应颜色来区分不同灰度级,在Test中,我们统计不同灰度级对

C语言数字图像处理---1.3 图像直方图相关推荐

  1. Win8 Metro(C#)数字图像处理--3.3图像直方图计算

    原文:Win8 Metro(C#)数字图像处理--3.3图像直方图计算 /// <summary>/// Get the array of histrgram./// </summa ...

  2. C语言数字图像处理---1.1图像的像素格式与图像读写

    前言 本专栏面向所有希望或有兴趣从事数字图像处理工作.学习或研究的朋友,不懂MATLAB和OPENCV没关系,仅需要基础的C语言知识,便可以通过本专栏内容轻松入门数字图像处理方向.目前市面上的数字图像 ...

  3. C语言数字图像处理---1.5图像基本变换之平移缩放旋转

    本篇作为新年到来前的最后一篇,提前祝大家新年快乐! 图像几何变换又叫做图像基本变换,主要包括图像平移.图像缩放和图像旋转几个部分,当然还有图像镜像等简单的内容.图像基本变换是图像处理的基本内容,是学习 ...

  4. C语言数字图像处理---2.3图像空域滤波

    本文主要给大家讲解图像空间域滤波的相关内容,包括空域滤波概念,以及常用的空域滤波算法,并通过C语言编程来实现几种常用空域滤波(均值滤波.中值滤波.最大值滤波.最小值滤波.高斯滤波和统计滤波),帮助初学 ...

  5. C语言数字图像处理---2.5图像频域滤波

    上一小节我们介绍了图像频域变换,本小节将以此为基础,介绍图像频域滤波的相关内容,包含常见高通/低通/带通/带阻/方向滤波等频域滤波方法,同时以C语言编码实现,帮助初学者理解和掌握如何进行图像的频域滤波 ...

  6. C语言数字图像处理---3.3图像锐化

    本篇将介绍图像增强范畴中的图像锐化部分,以经典的LAPLACE锐化和Photoshop USM锐化为例,通过C语言编程实现,教会大家这两种锐化算法,增强大家对图像锐化的理解以及对图像增强范畴的认知. ...

  7. C语言数字图像处理----3.2 图像边缘检测之Canny边缘检测算法

    本篇将介绍图像边缘检测中的Canny边缘检测,这是传统边缘检测学习中的必学内容,也是图像算法面试中的常见问题,本文将教会初学者如何在理解算法的基础之上,通过C语言来实现Canny边缘检测算法,从而做到 ...

  8. C语言数字图像处理进阶---18 图像形变滤镜

    图像形变滤镜 图像形变滤镜代表的是一类滤镜,这类滤镜的特点就是像素位置发生了形变,通过位置形变来达到某种特效,比如哈哈镜,鱼眼镜头特效等等. 本文给大家介绍四款形变滤镜:波浪形变滤镜(WaveFilt ...

  9. C语言数字图像处理编程

    C语言数字图像处理 读取bmp图像并做简单显示 bmp图像几何变换(移动,旋转,镜像,转置,缩放) 彩色图像转灰度图,灰度图反色 图像中值滤波与平均滤波 bmp图像锐化 图像的半影调和抖动技术 bmp ...

  10. Win8 Metro(C#)数字图像处理--2.52图像K均值聚类

    原文:Win8 Metro(C#)数字图像处理--2.52图像K均值聚类  [函数名称] 图像KMeans聚类      KMeansCluster(WriteableBitmap src,int ...

最新文章

  1. 懒 人 世 界 的 生 存 法 则
  2. 【迈克尔・乔丹:人工智能,革命远未发生】
  3. PHP文件打开读取操作
  4. python tkinter控件_Python3 tkinter基础 Label pack 设置控件在窗体中的位置
  5. 动态规划应用--找零钱
  6. NASA 传奇数学家去世,她曾笔算了登月轨道
  7. .net 启动mysql数据库连接,ASP.NET实战002:MySQL数据库连接
  8. mysql 9 5.5.29_在CentOS 6.3中安装与配置Mysql-5.5.29的方法
  9. 【C++ Primer】第六章(分支语句和逻辑操作符)
  10. 数据库服务器修改地址,数据库服务器修改地址吗
  11. caffe之代码学习
  12. SQL Sever — 设置外键+组合键(唯一性约束)、修改取值范围、设置某列的默认值
  13. 从MySQL复制功能中得到一举三得实惠
  14. Bootstrap学习之三:使用排版
  15. multism中ui和uo应该怎么表示_multisim12中XBP1怎么使用
  16. 【音乐理论】音与音高 ( 音 | 乐音体系 | 音列 | 基本音级 | 音名和唱名 )
  17. Linux:计算机网络基础
  18. 任志强:房价至少还要涨十多年 北京房价不会跌
  19. windows 大容量存储设备驱动异常(代码:39)U盘由于驱动问题无法用的解决方法
  20. IT 互联网行业大阅兵,为庆祝祖国 70 华诞,太震撼了

热门文章

  1. [Shader2D]浮雕效果
  2. 60个经典的电脑技巧!每一个都超实用!
  3. msdia80.dll文件出现在磁盘根目录下的解决方案(转)
  4. 3d模型多怎么优化_硕士生金属3D打印斯特林发动机模型,使用3DXpert增长增材制造经验...
  5. C4D界面认识及常用操作
  6. Proteus仿真:MSP430
  7. 高淇Java300集
  8. EBS财务模块表结构
  9. r语言和python混合_jupyter notebook同时使用python和R语言
  10. 漏洞扫描工具Nessus的下载与安装教程