openCV中直方图均衡化算法的理解】的更多相关文章

直方图均衡化就是调整灰度直方图的分布,即将原图中的灰度值映射为一个新的值.映射的结果直观表现是灰度图的分布变得均匀,从0到255都有分布,不像原图那样集中.图像上的表现就是对比度变大,亮的更亮,暗的更暗. 映射算法是计算灰度图的累积函数,并将其归一化.最后由累计函数映射出新的灰度值.这个算法其他的博客都有描述.我这里谈谈我对这个算法的理解. 通过这种算法会有什么效果?首先灰度的大小关系是不会变化的,但是新的灰度范围和这种灰度的像素数目相关.原本占据低区域和高区域的像素,虽然很少,但是占据了(0~…
直方图均匀化简介 从这张未经处理的灰度图可以看出,其灰度集中在非常小的一个范围内.这就导致了图片的强弱对比不强烈. 直方图均衡化的目的,就是把原始的直方图变换为在整个灰度范围(0~255)内均匀分布的形式,从而增加像素灰度值的动态范围,达到增强图像整体对比度的效果. 直方图均衡化的列表计算 序号 运算 步骤和结果 1 列出原始图灰度值 f(0 ≤ f ≤ L-1) 0 1 2 3 4 5 6 7 2 列出原始直方图(概率表达) 0.02 0.05 0.09 0.12 0.14 0.2 0.22…
title: "Python实现图像直方图均衡化算法" date: 2018-06-12T17:10:48+08:00 tags: [""] categories: ["python"] 效果图 代码 #!/usr/bin/env python3 # coding=utf-8 import matplotlib.image as mpimg from matplotlib import pyplot as plt import sys impor…
SURF:speed up robust feature,翻译为快速鲁棒特征.首先就其中涉及到的特征点和描述符做一些简单的介绍: 特征点和描述符 特征点分为两类:狭义特征点和广义特征点.狭义特征点的位置本身具有常规的属性意义,比如角点.交叉点等等.而广义特征点是基于区域定义的,它本身的位置不具备特征意义,只代表满足一定特征条件的特征区域的位置.广义特征点可以是某特征区域的任一相对位置.这种特征可以不是物理意义上的特征,只要满足一定的数学描述就可以,因而有时是抽象的.因此,从本质上说,广义特征点可…
计算直方图calcHist 直方图是对数据集合的统计 ,并将统计结果分布于一系列提前定义的bins中.这里的数据不只指的是灰度值 ,统计数据可能是不论什么能有效描写叙述图像的特征. 如果有一个矩阵包括一张图像的信息 (灰度值 0-255): gray 既然已知数字的范围包括256个值, 我们能够将这个范围切割成子区域(称作 bins),如: bins 然后再统计掉入每个bin_{i}的像素数目.採用这一方法来统计上面的数字矩阵,我们能够得到下图( x轴表示 bin, y轴表示各个bin中的像素个…
直方图均衡化是什么有什么用 先说什么是直方图均衡化,通俗的说,以灰度图为例,原图的某一个像素为x,经过某个函数变为y.形成新的图.新的图的灰度值的分布是均匀的,这个过程就叫直方图均衡化. 图像直方图均衡化作用:用来增强对比度. 这种方法通常用来增加许多图像的全局对比度,尤其是当图像的有用数据的对比度相当接近的时候.通过这种方法,亮度可以更好地在直方图上分布.这样就可以用于增强局部的对比度而不影响整体的对比度,直方图均衡化通过有效地扩展常用的亮度来实现这种功能. 这种方法对于背景和前景都太亮或者太…
calcHist函数在Opencv中是极难理解的一个函数,一方面是参数说明晦涩难懂,另一方面,说明书给出的实例也不足以令人完全搞清楚该函数的使用方式.最难理解的是第6,7,8个参数dims.histSize和ranges.以前一直都是想当然认为,该函数可以一次统计多张图片每个通道的灰度值数据,实际上calcHist函数一次只能统计一个通道上的直方图.我估计许多同学都犯过和我类似的错误,认为第5个参数hist,可以根据dims设定维度,比如dims=3,则输出的hist的维度就是3,并且会想当然的…
kmeans算法的原理参考:http://www.cnblogs.com/mikewolf2002/p/3368118.html 下面学习一下opencv中kmeans函数的使用.      首先我们通过OpenCV中的随机数产生器RNG,生成一些均匀分布的随机点,这些点的位置对应一副图像中的像素位置,然后使用kmeans算法对这些随机点进行分类,并计算出分类簇的中心点.      随机产生的簇的数量是2到5之间的值,采样点的数量范围是1-1000,一维矩阵centers存放kmeans算法结束…
PCA算法的基本原理可以参考:http://www.cnblogs.com/mikewolf2002/p/3429711.html     对一副宽p.高q的二维灰度图,要完整表示该图像,需要m = p*q维的向量空间,比如100*100的灰度图像,它的向量空间为100*100=10000.下图是一个3*3的灰度图和表示它的向量表示: 该向量为行向量,共9维,用变量表示就是[v0, v1, v2, v3, v4, v5, v6, v7, v8],其中v0...v8,的范围都是0-255.    …
K均值(K-Means)算法是一种无监督的聚类学习算法,他尝试找到样本数据的自然类别,分类是K由用户自己定义,K均值在不需要任何其他先验知识的情况下,依据算法的迭代规则,把样本划分为K类.K均值是最常用的聚类技术之一,通过不断迭代和移动质心来完成分类,与均值漂移算法的原理很相似. K均值算法的实现过程: 1. 对于一组未知分类的数据集合,指定其分类数K: 2. 随机分配K个类别的中心点位置,分配的原则是各个类别的中心点距离彼此越远越好. 3.将数据集中的每一个点进行类别划分,划分的距离N个初始的…