OpenCV——直方图计算、绘制和对比匹配

原文地址:https://www.cnblogs.com/long5683/p/9692885.html

时间: 2024-11-02 07:29:17

OpenCV——直方图计算、绘制和对比匹配的相关文章

Opencv直方图计算是否需要Gpu加速?

众所周知,Gpu加速技术对图像处理具有很大的影响,在前面的博客中通过对比验证了Gpu加速技术对图像滤波的高效率.但是Gpu技术并不是万能的,本文通过比较发现Gpu计算直方图的效率并没有传统计算方法效率高.下面表格是对比结果,时间是通过运行20次求平均值而得,后面给出相应的比较代码.由结果可以看出Cpu计算直方图是运行效率更高,当对图片数据库进行训练时,如果有5000幅图片需要处理,采用Cpu计算方式可以节省75分钟左右的时间,节省的时间还是相当可观的. Gpu与Cpu计算直方图效率对比 方式 C

《OpenCV:直方图应用:直方图均衡化,直方图匹配,对比直方图》

直方图均衡化 直方图均衡化(Histogram Equalization)是直方图最典型的应用,是图像点运算的一种.对于一幅输入图像,通过运算产生一幅输出图像,点运算是指输出图像的每个像素点的灰度值由输入像素点决定,即: 直方图均衡化是通过灰度变换将一幅图像转换为另一幅具有均衡直方图,即在每个灰度级上都具有相同的象素点数过程.从分布图上的理解就是希望原始图像中y轴的值在新的分布中尽可能的展开.变换过程是利用累积分布函数对原始分布进行映射,生成新的均匀拉伸的分布.因此对应每个点的操作是寻找原始分布

OpenCV —— 直方图与匹配

直方图就是对数据进行统计,将统计值组织到一系列事先定义好的bin中.bin中的数值是从数据中计算出来的特征的统计量,这些数据可以是诸如梯度,方向,色彩或任何其他特征. 直方图获得是是数据分布的统计图 直方图的基本数据结构 CvHistogram 创建一个新的直方图 cvCreateHist dims   直方图维数的数目 sizes  直方图维数尺寸的数组 type  直方图的表示格式: CV_HIST_ARRAY 意味着直方图数据表示为多维密集数组 CvMatND; CV_HIST_TREE

OpenCV 直方图

OpenCV中有灰度直方图均衡化的函数equalizeHist ( InputArray src, OutputArray dst ) 只能处理单通道的灰色图像,对于彩色图像,需要把每个信道分别均衡化,再Merge为彩色图像. OpenCV函数 compareHist ()产生一个表达两个直方图的相似度的数值 要比较两个直方图(H1 and H2), 首先必须要选择一个衡量直方图相似度的对比标准  该函数提供了4种对比标准来计算相似度 1.Correlation ( CV_COMP_CORREL

OpenCV学习笔记[5]FLANN特征匹配

OpenCV学习笔记:FLANN特征匹配 本次给出FLANN特征匹配的Java实现. [简介] 特征匹配记录下目标图像与待匹配图像的特征点(KeyPoint),并根据特征点集合构造特征量(descriptor),对这个特征量进行比较.筛选,最终得到一个匹配点的映射集合.我们也可以根据这个集合的大小来衡量两幅图片的匹配程度. 特征匹配与模板匹配不同,由于是计算特征点集合的相关度,转置操作对匹配影响不大,但它容易受到失真.缩放的影响. [特征匹配] FeatureMatching.java: imp

OpenCV2.3的cvCalcHist函数有问题?255级值总为0,索性自己写一个直方图计算函数,附源码!

欢迎大家加入图像识别技术交流群:271891601,另外,特别欢迎成都从事图像识别工作的朋友交流,我的QQ号248787278 ------------------------------------------- 我在写直方图规定化的代码过程中,发现OpenCV自带的cvCalcHist函数计算出的直方图的第255分量总是为0,测试了几张图都是这样,代码如下: #include <opencv2/opencv.hpp> #include <opencv2/legacy/compat.h

opencv直方图均衡化

#include <iostream> #include "highgui.h" #include "cv.h" #include "cxcore.h" #include "math.h" using namespace std; using namespace cv; //绘制1维直方图 Mat draw1DHistogram(Mat histogramMat) { double maxVal = 0, minV

Opencv 各种特征点提取和匹配

opencv 特征点的提取和匹配 1. 当中的数据结构 KeyPoint这数据结构中有如下数据结构: class KeyPoint { Point2f pt; //坐标 float size; //特征点邻域直径 float angle; //特征点的方向,值为[零,三百六十),负值表示不使用 float response; int octave; //特征点所在的图像金字塔的组 int class_id; //用于聚类的id angle:角度,表示关键点的方向,SIFT算法通过对关键点周围邻域

matplotlib:直方图的绘制

1.matplotlib绘图三部曲 (1)创建画布 (2)绘图——包含绘图与图形修饰 (3)绘图展示 2.直方图的绘制 (1)导入模块 import matplotlib.pyplot as pltimport numpy as np 将模块导入到脚本中,并更改名字为plt (2)创建画布 plt.figure(figsize=(8,5), dpi=120) 使用figure()方法创建画布,figsize=(x,y)参数用于设置画布大小,单位为英寸,dpi参数用于设置图片像素 matplotl