直方图

Matplotlib学习(5)--直方图

倾然丶 夕夏残阳落幕 提交于 2020-01-25 13:50:28
四 直方图 由一系列高度不等的纵向条形组成 (1)1D直方图 import numpy as np import matplotlib . pyplot as plt mu = 100 sigma = 20 x = mu + sigma * np . random . randn ( 20000 ) # density=True表示出现的频率大小 plt . hist ( x , bins = 100 , color = 'b' , density = True ) 程序运行结果如下图 (2)2D直方图 import numpy as np import matplotlib . pyplot as plt x = np . random . randn ( 1000 ) + 2 y = np . random . randn ( 1000 ) + 3 plt . hist2d ( x , y , bins = 40 ) 程序运行结果如下图示意 来源: CSDN 作者: bingxiash 链接: https://blog.csdn.net/u014168855/article/details/104070637

图像增强算法

旧时模样 提交于 2020-01-25 09:33:35
图像增强 图像增强算法概述 图像增强的目的是改善图像的视觉效果或使图像更适合于人或机器的分析处理。通过图像增强可以减少图像噪声,提高目标与背景的对比度,亦可以强调或抑制图像中的某些细节。例如,消除照片中的划痕,改善光照不均匀的图像,突出目标的边缘等。根据处理的空间可以将图像增强分为空域法和频域法,前者直接在图像的空间域(或图像空间)中对像素进行处理,后者在图像的变换域(即频域)内简介处理,然后经逆变换获得增强图像。空域增强可以分为点处理和区处理,频域增强可以分为低通滤波,高通滤波,带通滤波和同态滤波。本文主要介绍的是空域法。 直方图均衡化和规定化 直方图均衡化基本思想 直方图均衡化的基本思想是把原始图像的直方图变换为均匀分布的形式,从而增强图像灰度的变化范围,以达到增强图像对比度的效果。经过均衡化处理的图像,其灰度级出现的概率相同,此时图像的熵最大,图像所包含的信息量最大。 均衡化的详细原理 直方图规定化基本思想 直方图均衡化能够增强整个图像的对比度,但增强效果不易控制,处理得到的是全局均衡化的直方图。然后实际应用中可能希望将直方图变换为某个特定的形状(规定的直方图),从而有选择地增强某个灰度范围内的对比度,这种方法就称为直方图规定化。直方图规定化可以借助直方图均衡化来实现。 任意两幅灰度图像,显示它们的直方图,并将其中一幅的直方图传递给另一个图像,显示传递后的图像及其直方图。

Opencv之直方图

淺唱寂寞╮ 提交于 2020-01-25 02:54:11
如上图所示,直方图统计的是一张图片中所含不同像素值的个数,横坐标为像素值,纵坐标为此像素值在图中的个数。如像素值为0的像素点在图中有100个,则在直方图中的第一列对应的纵坐标为100。(如果第一列对应的是0像素值的话) 在Opencv中,有专门的函数用来计算每个像素值对应多少像素点: cv2.calcHist(images,channels,mask,histSize,ranges) images: 原图像图像格式为 uint8 或 float32。当传入函数时应用中括号 [] 括来例如[img] channels: 同样用中括号括来它会告函数我们统幅图像的直方图。如果输入图像是灰度图它的值就是[0];如果是彩色图像 的传入的参数可以是[0]、[1]、[2] 它们分别对应着 B、G、R。 mask: 掩模图像。统整幅图像的直方图就把它为 None。但是如果你想统图像某一分的直方图的你就制作一个掩模图像并使用它。 histSize:BIN 的数目。也应用中括号括起来。 ranges: 像素值范围常为 [0, 256]。 img = cv2 . imread ( 'cat.jpg' , 0 ) #0表示灰度图 hist = calcHist ( [ img ] , [ 0 ] , None , [ 256 ] , [ 0 , 256 ] ) hist . shape 可以直接用plt

【红外DDE算法】聊聊红外图像增强算法的历史进程(第一回)

旧巷老猫 提交于 2020-01-23 13:41:43
宽动态红外图像增强算法综述 回顾过去 带你回顾宽动态红外图像增强算法的历史进程,历来学者的一步步革命(新的算法框架提出),一步步改革(改进优化),从简单粗暴到细致全面。 正所谓是:改革没有完成时,只有进行时。没有完美的算法,也没有最好的算法,只有更好更优秀的算法。 展望未来 以现在看90年代的算法,那时候的算法是有点粗糙,但是正是在这一点点的积累上,才有了现在较之优秀完美的算法。 正所谓是:站在巨人的肩膀,我们看得更远,不积跬步无以至千里。 目录 为什么需要该算法? 摘要 主要的三类算法思路大致介绍 第一类:基于映射的宽动态图像增强算法 第二类:基于图像分层的宽动态图像增强算法 第三类:基于梯度域的宽动态图像增强算法 三类算法的对比与优缺点分析 1.关于为什么需要宽动态红外图像增强算法? 详见我之前的文章《数字细节增强算法的缘由与效果(我对FLIR文档详解)》 https://blog.csdn.net/hahahahhahha/article/details/102978112. 2.摘要: 从三类算法开始介绍,基于映射的宽动态图像增强算法,基于图像分层的宽动态图像增强算法,基于梯度域的宽动态图像增强算法。 3.主要的三类算法思路大致介绍 早期的算法(大概1999年之前),主要是基于映射的。实现简单,复杂度低,但是细节不够凸显。 为此,学者提出了基于图像分层的算法

GML和SML映射规则

試著忘記壹切 提交于 2020-01-20 00:55:55
GML和SML原理 GML规定化(组映射) 先列出图像灰度值i,j,计算原始直方图Pr(i),列出规定直方图Pz(j),计算原始累计直方图Pi和规定累计直方图Pj,然后按照Pj到Pi寻找最接近的值存储为j,当满足给定的值多于一个时,按惯例取最小值。确定变换关系为i->j,最后列出匹配直方图P(j)。 SML规定化(单映射) 先列出图像灰度值i,j,计算原始直方图Pr(i),列出规定直方图Pz(j),计算原始累计直方图Pi和规定累计直方图Pj,然后按照Pi到Pj寻找最接近的值存储为j,当满足给定的值多于一个时,按惯例取最小值。确定变换关系为i->j,最后列出匹配直方图P(j)。 映射结果与分析 GML(组映射)映射结果 GML映射分析 先列出图像灰度值i,j,计算原始直方图Pr(i),列出规定直方图Pz(j),计算原始累计直方图Pi和规定累计直方图Pj,然后按照Pj到Pi寻找最接近的值存储为j,当满足给定的值多于一个时,按惯例取最小值。确定变换关系为i->j,最后列出匹配直方图P(j)。 SML(单映射)映射结果 SML映射分析 先列出图像灰度值i,j,计算原始直方图Pr(i),列出规定直方图Pz(j),计算原始累计直方图Pi和规定累计直方图Pj,然后按照Pi到Pj寻找最接近的值存储为j,当满足给定的值多于一个时,按惯例取最小值。确定变换关系为i->j,最后列出匹配直方图P(j)。

数字图像处理——直方图累计

拟墨画扇 提交于 2020-01-19 05:14:04
数字图像处理——直方图累计 % 函数名称为Image_Hist , 输入参数Image , 输出参数Hist function [ Hist ] = Image_Hist ( Image ) % 获取矩阵的行、列、波段数 [ m , n , bands ] = size ( Image ) ; % 将三维矩阵转换成二维矩阵,方便计算 Image1 = reshape ( Image , [ m * n , bands ] ) ; % 初始化三维矩阵,行表示 256 种灰度,列表示灰度值、个数、累计个数 Hist = zeros ( 256 , 2 , bands ) ; % 求每个波段中每个灰度值的个数 for k = 1 : bands for i = 1 : 256 for j = 1 : m * n if ( Image1 ( j , k ) == i - 1 ) Hist ( i , 1 , k ) = Hist ( i , 1 , k ) + 1 ; end end end end % 转换为频率直方图 Hist = Hist . / ( m * n ) ; % 求每个波段每个灰度的累计个数 Hist ( 1 , 2 , : ) = Hist ( 1 , 1 , : ) ; for k = 1 : bands for i = 2 : 256 Hist ( i , 2 ,

HOF与MBH

南楼画角 提交于 2020-01-19 04:52:54
两个传统的图像处理特征,简单有用。 1.HoF(Histogram of Flow) 1)概念 HOF(Histograms of Oriented Optical Flow)是计算光流方向的直方图,和HoG一个概念,通常用于Action Recogntion中。 2)提出原因 一方面,光流对于运动方向,背景变化敏感。另一方面,在动作识别中,相应的光流特征描述子的维度在变化。于是,需要寻找一个基于光流的既能表征时域动作信息,又对尺度和运动信息方向不敏感的特征。这就是HOF的由来。 3)计算步骤: (1)计算光流 (2)统计直方图 计算光流矢量与横轴的夹角,根据角度将其投影到对应的直方图bin中,并根据该光流的幅值进行加权(消除背景的影响!) v表示光流,θ表示光流方向,b表示直方图第几bin,B一般表示要投影到对于直方图的bin数,如下例则表示是4 (3)归一化  补充: 以横轴为基准计算夹角能够使HOF特征对运动方向(向左和向右)不敏感。 通过归一化直方图实现HOF特征的尺度不变性。 HOF直方图通过光流幅值加权得到,因此小的背景噪声对直方图的影响微乎其微。 通常直方图bin取30以上识别效果较好。 2.MBH特征 MBH特征是在2006年的一篇论文: 《 Human Detection using oriented Histograms of flow and

图像特征提取之HOG特征

为君一笑 提交于 2020-01-17 08:59:26
目标检测的图像特征提取之(一)HOG特征 zouxy09@qq.com http://blog.csdn.net/zouxy09 1、HOG特征: 方向梯度直方图(Histogram of Oriented Gradient, HOG)特征是一种在计算机视觉和图像处理中用来进行物体检测的特征描述子。它通过计算和统计图像局部区域的梯度方向直方图来构成特征。Hog特征结合SVM分类器已经被广泛应用于图像识别中,尤其在行人检测中获得了极大的成功。需要提醒的是,HOG+SVM进行行人检测的方法是法国研究人员Dalal在2005的CVPR上提出的,而如今虽然有很多行人检测算法不断提出,但基本都是以HOG+SVM的思路为主。 (1)主要思想: 在一副图像中,局部目标的表象和形状(appearance and shape)能够被梯度或边缘的方向密度分布很好地描述。(本质:梯度的统计信息,而梯度主要存在于边缘的地方)。 (2)具体的实现方法是: 首先将图像分成小的连通区域,我们把它叫细胞单元。然后采集细胞单元中各像素点的梯度的或边缘的方向直方图。最后把这些直方图组合起来就可以构成特征描述器。 (3)提高性能: 把这些局部直方图在图像的更大的范围内(我们把它叫区间或block)进行对比度归一化(contrast-normalized),所采用的方法是:先计算各直方图在这个区间(block)中的密度

【认知篇】Oracle的直方图是个嘛,能干啥?

别来无恙 提交于 2020-01-15 16:34:56
【引言】 在Oracle中直方图是一种对数据分布质量情况进行描述的工具。它会按照某一列不同值出现数量多少,以及出现的频率高低来绘制数据的分布情况,以便能够指导优化器根据数据的分布做出正确的选择。在某些情况下,表的列中的数值分布将会影响优化器使用索引还是执行全表扫描的决策。 构造直方图最主要的原因:是帮助优化器在表中数据严重偏斜时做出更好的规划 直方图是一种统计学上的工具,并非Oracle专有,通常情况下它会表现为一种几何图形表,这个图形表是根据从实际环境中所收集来的被管理对象某个方面的质量分布情况的数据所绘制成的,通常会画成以数量为底边,以频度为高度的一系列连接起来的矩形图,因此直方图在统计学上也称为质量分布图。 当where 子句的值具有不成比例数量的数值时,将出现这种情况,使得全表扫描比索引访问的成本更低。这种情况下如果where 子句的过滤谓词列之上有一个合理的正确的直方图,将会对优化器做出正确的选择发挥巨大的作用,使得SQL语句执行成本最低从而提升性能。 在分析表或索引时,直方图用于记录数据的分布。通过获得该信息,基于成本的优化器就可以决定使用将返回少量行的索引,而避免使用基于限制条件返回许多行的索引。直方图的使用不受索引的限制,可以在表的任何列上构建直方图。 构造直方图最主要的原因就是帮助优化器在表中数据严重偏斜时做出更好的规划 。如果一到两个值构成了表中的大部分数据

集成算法之Light GBM

烈酒焚心 提交于 2020-01-14 19:51:04
一、Light GBM Light GBM是和xgboost类似的一种集成算法。xgboost算法的一个瓶颈是针对每个特征,它都需要对每一个可能的分裂点扫描全部的样本来计算基尼系数,这样大大增加了计算量,降低了算法效率。为了解决这种在大样本高纬度数据的环境下耗时的问题,Light GBM算法使用直方图方法在牺牲一定精度的条件下,换取计算速度的提升和内存的消耗;主要使用如下两种方法:一是GOSS(Gradient-based One-Side Sampling, 基于梯度的单边采样),不是使用所用的样本点来计算梯度,而是对样本进行采样来计算梯度;二是EFB(Exclusive Feature Bundling, 互斥特征捆绑) ,这里不是使用所有的特征来进行扫描获得最佳的切分点,而是将某些特征进行捆绑在一起来降低特征的维度,是寻找最佳切分点的消耗减少。这样大大的降低的处理样本的时间复杂度,但在精度上,通过大量的实验证明,在某些数据集上使用Lightgbm并不损失精度,甚至有时还会提升精度。 二、直方图算法(Histogram-based Alogrithm) 直方图优化算法需要在训练前预先把特征值转化为bin,也就是对每个特征的取值做个分段函数,将所有样本在该特征上的取值划分到某一段(bin)中,最终把特征取值从连续值转化成了离散值。 第一个 for