没想到图像直方图有这么多应用场景
点击上方“小白学视觉”,选择加"星标"或“置顶”
重磅干货,第一时间送达本文转自|机器学习算法那些事
引言
之前写过很多图像直方图相关的知识跟OpenCV程序演示,这篇算是把之前的都回顾一波。做好自己的知识梳理。
图像直方图
图像直方图是图像的基本属性之一,也是图像像素数据分布的统计学特征,常见的图像直方图可以分为二值图像的直方图表示如下:
上图a是4x4的二值图像,b是对应的直方图,可以看出X轴表示像素范围(0-黑色、1-白色),Y轴表示像素值出现的频次,即分布。
对灰度图像来说,它的像素值取值范围会扩展到0~255之间,其直方图可以表示如下:
从上面的图中可以发现灰度图像的直方图依然是X轴表示像素值范围、Y轴表示各个像素值出现频次,即像素分布。
彩色图像有红色、绿色、蓝色三个通道,其直方图表示稍微复杂一点,要对每个通道进行直方图计算跟表示,图示如下:
可以看出彩色图像的三个通道各自对应一个直方图分布。
直方图阈值化
OpenCV中支持的两种阈值计算的二值化方法
THRESH_OTSU
THRESH_TRIANGLE
均是基于图像直方图实现图像二值化分割,其中OTSU阈值分割(大津)对直方图为双峰的灰度图像效果比较好,图示如下:
而三角法对直方图分布单峰的图像分割效果比较好,图示如下下:
直方图均衡化
直方图均衡化是一种通过提升图像对比度实现图像增强的方法,它跟最基础的基于像素差值放缩改变对比度的方法效果更好。图示如下:
从上图中可以看出,最左侧列是输入图像,是低对比度图像,左侧二列为直接改变像素值获得对比度提升图像,左侧三列是通过直方图均衡化完成对比度提升,最右侧一列也是通过直方图均衡化完成,不过是基于局部直方图均衡化。OpenCV中支持两种直方图均衡化方法分别是:
正常的直方图均衡化(全局直方图均衡化)
对比度受限的自适应直方图均衡化(CLAHE-局部自适应直方图均衡化)
特别需要注意的是OpenCV的直方图均衡化函数都只支持单通道八位的图像、对RGB彩色图像来说,要实现直方图均衡化提升对比度必须先转换到HSV色彩空间,然后对亮度通道V进行直方图均衡化之后再转换到RGB色彩空间显示。图示如下:
直方图对比
图像直方图还可以实现图像相似性简单分析与查找,其原理是对两张图像生成的直方图分布数据,进行归一化之后比较,根据数据像素程度,从而判定图像内容的相似程度,该方法可靠性虽然不高,但胜在快捷方便。OpenCV中支持的直方图比较的方法有如下:
相关函数为:
compareHist(
InputArray H1,
InputArray H2,
int method
)
参数解释
H1表示第一张图的直方图
H2表示第二张图的直方图
method表示直方图比较的方法,支持卡方、相关性,交叉、巴氏距离
直方图反向投影
图像反向投影的最终目的是获取ROI然后实现对ROI区域的标注、识别、测量等图像处理与分析,是计算机视觉与人工智能的常见方法之一。反向投影通常是彩色图像投影效果会比灰度图像效果要好,原因在于彩色图像带有更多对象细节信息,在反向投影的时候更加容易判断、而转为灰度图像会导致这些细节信息丢失、从而导致分割失败。最常见的是基于图像直方图特征的反向投影,正是因为直方图反向投影有这样能力,所以在经典的MeanShift与CAMeanShift跟踪算法中一直是通过直方图反向投影来实现已知对象物体的定位。
需要注意的是,直方图反向投影是基于颜色的,所以会对RGB彩色图像转换到HSV色彩空间,然后基于H跟S两个通道生成2D直方图数据分布,如下图所示:
其他类型图像直方图与直方图缺陷
除了图像像素分布直方图,还有一些其他类型基于图像梯度跟角度的直方图类型,总结如下:
-图像像素直方图
-图像梯度直方图
-图像角度直方图
后面两种类型的直方图在SIFT跟HOG特征提取的算法中都有应用,但是同时直方图只是数据统计信息,没有包含图像空间信息,所以通过直方图无法正确描述图像的结构化信息。它的缺点图示如下:
上图说明直方图数据完全一致的图像,但是图像的空间结构完全不同,根本没有相似性可言,所以图像直方图信息只是图像的基本属性之一,但是不是图像的唯一特征。同样作为图像的基本属性之一,直方图应用范围非常广泛,是最基础的图像特征向量数据之一,常规的直方图归一化即可得到PDF数据。
好消息,小白学视觉团队的知识星球开通啦,为了感谢大家的支持与厚爱,团队决定将价值149元的知识星球现时免费加入。各位小伙伴们要抓住机会哦!
下载1:OpenCV-Contrib扩展模块中文版教程
在「小白学视觉」公众号后台回复:扩展模块中文教程,即可下载全网第一份OpenCV扩展模块教程中文版,涵盖扩展模块安装、SFM算法、立体视觉、目标跟踪、生物视觉、超分辨率处理等二十多章内容。
下载2:Python视觉实战项目52讲
在「小白学视觉」公众号后台回复:Python视觉实战项目,即可下载包括图像分割、口罩检测、车道线检测、车辆计数、添加眼线、车牌识别、字符识别、情绪检测、文本内容提取、面部识别等31个视觉实战项目,助力快速学校计算机视觉。
下载3:OpenCV实战项目20讲
在「小白学视觉」公众号后台回复:OpenCV实战项目20讲,即可下载含有20个基于OpenCV实现20个实战项目,实现OpenCV学习进阶。
交流群
欢迎加入公众号读者群一起和同行交流,目前有SLAM、三维视觉、传感器、自动驾驶、计算摄影、检测、分割、识别、医学影像、GAN、算法竞赛等微信群(以后会逐渐细分),请扫描下面微信号加群,备注:”昵称+学校/公司+研究方向“,例如:”张三 + 上海交大 + 视觉SLAM“。请按照格式备注,否则不予通过。添加成功后会根据研究方向邀请进入相关微信群。请勿在群内发送广告,否则会请出群,谢谢理解~
没想到图像直方图有这么多应用场景相关推荐
- 科学家们竟用乐高观察细胞,网友:万万没想到啊
杨净 子豪 发自 凹非寺 量子位 报道 | 公众号 QbitAI 玩乐高还能玩出个显微镜?! 原本以为是一个普普通通的玩具. 没想到,还真能当成显微镜来用,是能看到细胞的那种. 真·高端新玩法! 比如 ...
- 没想到,因为这场AI大会,我也可以凡尔赛一把
杨净 发自 凹非寺 量子位 报道 | 公众号 QbitAI 没想到,小小编辑的我,竟这样不经意凡尔赛了. 事情是这样,刚有朋友"求"我--量子位小编,要一张大会的现场票. 说官方渠 ...
- 【杂谈】万万没想到,有三还有个保密的‘朋友圈’,那里面都在弄啥!
万万没想到,有一天我们也会标题党,透过标题看本质,今天说的确实是那么回事儿也. 一直以来我们都有一个不公开的私密社区叫有三AI知识星球,但是经常遇到一些朋友,甚至是加入季划的同学都在问我,那是个啥?看 ...
- python画简便的图片-用python简单处理图片(5):图像直方图
我们先来看两个函数reshape和flatten: 假设我们先生成一个一维数组: vec=np.arange(15) print vec 显示为: [ 0 1 2 3 4 5 6 7 8 9 10 1 ...
- 图像处理大型科普——图像直方图
图像处理大型科普--图像直方图 偶尔跟在浙大读研的湖大一姐谈起轮廓识别,她正在做一个能把衣服分类成不同款式的应用,衣服平摊好,然后用手机一扫,马上就能告诉你这是T-SHIRT还是裙子,什么?你敢说这玩 ...
- 用Scrapy爬取分析了7万款App,结果万万没想到!
作者 | 苏克 来源 | 第2大脑 这是新年的第一篇原创干货. 摘要:使用 Scrapy 爬取豌豆荚全网 70,000+ App,并进行探索性分析. 写在前面:若对数据抓取部分不感兴趣,可以直接下拉到 ...
- Python分析了 7 万款 App,万万没想到
摘要:使用 Scrapy 爬取豌豆荚全网 70,000+ App,并进行探索性分析. 写在前面:若对数据抓取部分不感兴趣,可以直接下拉到数据分析部分. 1 分析背景 之前我们使用了 Scrapy 爬取 ...
- Python爬虫新手教程:Python分析了 7 万款 App,万万没想到
摘要:使用 Scrapy 爬取豌豆荚全网 70,000+ App,并进行探索性分析. 写在前面:若对数据抓取部分不感兴趣,可以直接下拉到数据分析部分. 1 分析背景 之前我们使用了 Scrapy 爬取 ...
- Python爬虫新手教程:Python分析了 7 万款 App,万万没想到!
摘要:使用 Scrapy 爬取豌豆荚全网 70,000+ App,并进行探索性分析. 写在前面:若对数据抓取部分不感兴趣,可以直接下拉到数据分析部分. 1 分析背景 之前我们使用了 Scrapy 爬取 ...
最新文章
- 通过源码分析Android 的消息处理机制
- gridview 导出到excel,repeater类似
- Filling Shapes
- sizeWithFont 不是线程安全。
- android 原生开发 3d地图 下载_arcgis api 3.x for js 入门开发系列二不同地图服务展示(附源码下载)...
- 经典卡尔曼滤波器直接调用代码(Matlab)
- WorldList5
- PCB绘图要点QA汇总
- sm4 前后端 加密_sm4加密
- kali-网站克隆工具-httrack
- mysql索引(七)唯一索引
- 使用域名访问服务器网站,使用域名访问网站是啥意思
- appcan ajax mysql_APPCAN MAS接口之AJAX
- 判断是否是正确的EMAIL格式
- 疫情影响下普惠金融风险与对策
- nodejs项目mysql使用sequelize支持存储emoji
- Java io流 解压缩多个文件 损坏问题解决
- PARSEC benchmark 编译
- 苹果11计算机怎么打开语音,iPhone11怎么打开Siri 语音唤醒方法介绍
- 直到黎明 Until Dawn 后感