| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> Opencv第十四章 进阶篇之图像直方图 -> 正文阅读 |
|
[人工智能]Opencv第十四章 进阶篇之图像直方图 |
图像直方图的绘制 图像直方图的绘制是用来统计图像中不同像素值出现的数量,下面向大家展示一下相关的代码:
首先读入目标图像,0表示对图像进行灰度处理,转化为灰度图像输出。 [img]是将目标图像传入函数, [0]表示的是图像的channel,用中括号括,如果是灰度图就是[0],如果是彩色图就是[0],[1],[2],根据传入的对应的BGR来定。 None对应的是不加掩膜图像,如果不加掩膜图像则为None,如果加掩膜图像则替换为mask。 [256]表示的是Bin的数目 [0,256]表示的是像素值范围 最后我们来输出一下直方图的参数 ?256表示一共用256个bin,1表示每个bin的宽度为1
?接着用plt输出直方图 我们这样就得到了相应的直方图。 接下来我们来输入彩色图进行一下直方图的输出。
for函数是对三个通道进行遍历 i 是颜色通道的索引,按照b,g,r的顺序索引相应的颜色通道 ?下面我们来查看一下plt的输出结果: 直方图绘制完成后,发现有的区域像素较为聚集,为了解决此问题,我们需要对直方图进行一系列的处理。 直方图的均衡化处理
以上便是对图像直方图进行均衡化处理的公式,直接套公式即可。 下面我们来看一下输出的图像 我们发现图像直方图变得分布不在过于聚集,达到了直方图均衡化的效果。 均衡化以后,图像会丢失部分细节: 向大家展示一下效果图: ? 自适应均衡化 #均衡化的缺点:会丢失一些细节 解决方法的代码如下:
?自适应均衡化的公式给定如上,不需要对其原理进行进一步的了解 ?自适应化得到的结果与原图和和均衡化的对比图展示如下: ?我们不难发现,自适应均衡化不仅提高了图片的亮度,而且还较大程度的保留了原有的数据细节。 mask掩膜图像 上文已经有提到掩膜图像,下面向大家介绍一下什么是掩膜图像。 所谓掩膜图像,就是设立一个矩阵,在选定部分为一,未选定部分为零,然后用该矩阵乘以原有图像的矩阵,得到的结果未框选的部分变为0,即变为黑色。图像仅保留被框选的部分。 下面向大家展示一下相关的代码:
效果图展示如下: 我们不难发现,所框选的区域越大,得到的直方图就越接近于原图的直方图。 关于直方图的介绍就这么多,下一张向大家介绍傅里叶变换。? |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/27 14:34:17- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |