opencv
文章平均质量分 84
zqx951102
同济大学 在读博士研究生
展开
-
OpenCV-统计图像的直方图,绘制直方图
绘制灰色直方图函数原型(有三个重载类型): OpenCV3帮助文档void cv::calcHist ( const Mat * images,int nimages,const int * channels,InputArray mask,OutputArray hist,int dims,const int * histSize,const float **...原创 2019-10-07 20:26:07 · 2567 阅读 · 0 评论 -
Gabor滤波器学习 综合多篇关于Gabor滤波器的博客总结
一、什么是Gabor函数(以下内容含部分翻译自维基百科) 在图像处理中,Gabor函数是一个用于边缘提取的线性滤波器。Gabor滤波器的频率和方向表达同人类视觉系统类似。研究发现,Gabor滤波器十分适合纹理表达和分离。在空间域中,一个二维Gabor滤波器是一个由正弦平面波调制的高斯核函数。 还有,生物学实验发现,Gabor滤波器可以很好地近似单细胞的感受野函数(光强刺激下的传递函数),什...原创 2019-01-14 20:22:49 · 7578 阅读 · 1 评论 -
5分钟装好Rational Rose破解版 非常好用
1: 下载两个文件点此下载,第一个是安装包,第二个是打开这个安装包内镜像的工具。2.打开下载第二个压缩包的工具,名字是rmxngq_1272,里面有一个应用程序名字为:virtualdrivemaster,双击这个应用程序,会弹出一个界面, 把下载的第一个压缩包第一个bin文件(IBM.rational....原创 2019-01-17 15:25:54 · 53060 阅读 · 25 评论 -
opencv中 equalizeHist()均衡化直方图
1、EqualizeHist函数函数作用:直方图均衡化,,用于提高图像的质量2、EqualizeHist函数调用形式C++: void equalizeHist(InputArray src, OutputArray dst)#include <opencv2/imgproc/imgproc.hpp>#include <opencv2/highgui/highgu...原创 2018-11-18 16:50:38 · 12253 阅读 · 3 评论 -
OpenCV图像增强算法实现(直方图均衡化、拉普拉斯、Log、Gamma)
1. 基于直方图均衡化的图像增强这个博客总结的特别好,分清楚每个方法适用于什么样的情况。直方图均衡化是通过调整图像的灰阶分布,使得在0~255灰阶上的分布更加均衡,提高了图像的对比度,达到改善图像主观视觉效果的目的。对比度较低的图像适合使用直方图均衡化方法来增强图像细节。彩色图像的直方图均衡化实现:#include <opencv2/highgui/highgui.hpp>...原创 2018-11-19 21:22:26 · 1649 阅读 · 0 评论 -
opencv中的convertScaleAbs()使用详解
convertScaleAbs()用于实现对整个图像数组中的每一个元素,进行如下操作: 该操作可实现图像增强等相关操作的快速运算,具体用法如下:下面通过一个具体的例子来展示这个函数的妙用:#include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include ...原创 2018-11-20 21:53:21 · 24094 阅读 · 2 评论 -
OpenCV 中的split函数和merge函数 及示例
就让我们来详细介绍一下这两个互为冤家的函数。首先是进行通道分离的split函数。<1>split函数详解将一个多通道数组分离成几个单通道数组。ps:这里的array按语境译为数组或者阵列。这个split函数的C++版本有两个原型,他们分别是:C++: void split(const Mat& src, Mat*mvbegin);C++: void split(In...原创 2018-11-18 20:36:21 · 7700 阅读 · 0 评论 -
openCV学习笔记 ROI区域的操作
代码如下:#include<opencv2/opencv.hpp>#include<opencv2/highgui/highgui.hpp>#include<iostream>using namespace cv;using namespace std;//函数声明bool ROI_AddImage();/* ========== ...原创 2018-11-08 20:54:52 · 4716 阅读 · 1 评论 -
opencv 笛卡尔坐标转换为极坐标 cvLogPolar的应用一
对于二维图像,Log-Polar转换表示从笛卡尔坐标到极坐标的变换。OpenCV中用于这个变换的函数是cvLogPolar,其函数原型如下:cvLogPolar:把图像映射到极指数空间void cvLogPolar( const CvArr* src, CvArr* dst, CvPoint2D32f center,double M, int flags=CV_INTER_LINEAR+C...原创 2018-11-05 15:13:20 · 2935 阅读 · 0 评论 -
OpenCV 查找表修改像素与LUT用法
然而,OpenCV里面已经有了相应函数可以让我们更加方便地对像素进行操作,那便是LUT函数,而且推荐使用OpenCV的内建函数,因为已经针对芯片做了优化设计,使得速度有很大提升。函数原型为:void LUT(InputArray src, InputArray lut, OutputArray dst)第一个参数:原始图像的地址;第二个参数:查找表的地址,对于多通道图像的查找,它可以有一个通...原创 2018-11-04 20:09:07 · 1380 阅读 · 0 评论 -
图像取反操作
图像取反:反转图像的像素强度,使图像中的前景变为背景,背景变为前景。显然这是一个一对一的映射,即像素值0变为255,1变为254…254变为1,255变为0。对应的查找表为lookup[256]={255,254,…,1,0}。代码如下:#include <iostream>#include "opencv2/core/core.hpp"#include "opencv2/i...原创 2018-11-04 19:54:49 · 8513 阅读 · 2 评论 -
OpenCV 基本矩阵操作与示例
OpenCV的基本矩阵操作与示例OpenCV中的矩阵操作非常重要,本文总结了矩阵的创建、初始化以及基本矩阵操作,给出了示例代码,主要内容包括:创建与初始化矩阵加减法矩阵乘法矩阵转置矩阵求逆矩阵非零元素个数矩阵均值与标准差矩阵全局极值及位置其他矩阵运算函数列表1. 创建与初始化矩阵1.1 数据类型建立矩阵必须要指定矩阵存储的数据类型,图像处理中常用的几种数据类型如下:CV_8...原创 2018-11-04 10:34:42 · 3480 阅读 · 1 评论 -
文字绘制——putText详解
opencv中除了提供绘制各种图形的函数外,还提供了一个特殊的绘制函数——在图像上绘制文字。这个函数即是cv::putText()。具体形式如下: void cv::putText( cv::Mat& img, // 待绘制的图像 const string& text, // 待绘制的文字 cv::Point origin, // 文本框的左下角 int fo...原创 2019-01-15 21:46:55 · 29045 阅读 · 2 评论 -
opencv 计算二维矢量的幅值—magnitude()函数
计算二维矢量的幅值:magnitude()函数该函数用来计算二维矢量的幅值 void magnitude(InputArray x,InputArray y,OutputArray magnitude) 第一个参数:InputArray类型的x,表示矢量的浮点型X坐标值,也就是实部 第二个参数:InputArray类型的y,表示矢量的浮点型Y坐标值,也就是虚部 第三个参数:OutputA...原创 2019-02-28 09:43:53 · 4801 阅读 · 0 评论 -
LBPH——图像的LBP特征向量
紧接上一篇未完成的工作,实现LBPH!!!介绍其实上篇博客已经介绍了一些LBP的实现:https://blog.csdn.net/zqx951102/article/details/100713614LBPH的概念这篇博客有介绍,https://blog.csdn.net/guo1988kui/article/details/79976202LBPH,Local Binary Patte...原创 2019-09-11 17:25:50 · 6630 阅读 · 3 评论 -
LBP学习!
https://blog.csdn.net/lien0906/article/details/47757777https://blog.csdn.net/simonforfuture/article/details/78852173https://www.cnblogs.com/mikewolf2002/p/3438698.html这个很重要讲得很好,代码主要根据这个改写的,https:/...原创 2019-09-10 21:42:10 · 1149 阅读 · 0 评论 -
OpenCV Gabor滤波器实现纹理提取与缺陷分析
一:Gabor滤波器介绍Gabor滤波器是OpenCV中非常强大一种滤波器,广泛应用在纹理分割、对象检测、图像分维、文档分析、边缘检测、生物特征识别、图像编码与内容描述等方面。Gabor在空间域可以看做是一个特定频率与方向的正弦平面加上一个应用在正弦平面波上的高斯核在实际计算中,一般情况下会根据输入的theta与lambd的不同,得到一系列的Gabor的滤波器组合,然后把它们的结果相加输出,...原创 2019-04-30 22:16:24 · 7361 阅读 · 5 评论 -
边缘检测(Laplace算子,LOG算子)
收入囊中拉普拉斯算子LOG算子(高斯拉普拉斯算子)OpenCV Laplacian函数构建自己的拉普拉斯算子利用拉普拉斯算子进行图像的锐化葵花宝典在OpenCV2马拉松第14圈——边缘检测(Sobel,prewitt,roberts) 我们已经认识了3个一阶差分算子拉普拉斯算子是二阶差分算子,为什么要加入二阶的算子呢?试想一下,如果图像中有噪声,噪声在一阶导数处也会取得极大值从而被当...原创 2019-04-30 11:08:29 · 6728 阅读 · 0 评论 -
VS2010下安装Opencv
首先vs下的opencv我安了很多次 也算有点经验吧!跟着教程一步步来!Opencv作为一种跨平台计算机视觉库,在图像处理领域得到广泛的应用,下面介绍如何在VS2010中安装配置Opencv一、下载Opencv下载网址:http://sourceforge.net/projects/opencvlibrary/files/opencv-win/本人下载的是opencv-2.4.10.exe...原创 2019-04-28 21:08:03 · 5989 阅读 · 0 评论 -
opencv的模板匹配(matchTemplate)做定位(加注释)
模板匹配实现定位的步骤:St1 将模板图和搜索图从BGR转化为GRAY;St2 对模板图和搜索图进行均衡化处理St3 模板图和搜索图进行滤波St4 模板图和搜索图分别求其梯度St5 模板匹配,求其求其最佳和最差匹配位置,归一化处理代码如下:#include &lt;opencv2/core/core.hpp&gt; #include "opencv2/opencv.hpp"...原创 2019-03-04 16:58:59 · 5141 阅读 · 7 评论 -
深入浅出傅里叶变换(目前看到的讲得最好的一篇文章)
原标题:如果看了此文你还不懂傅里叶变换,那就过来掐死我吧【完整版】作者:韩昊知 乎:Heinrich微博:@花生油工人知乎专栏:与时间无关的故事 谨以此文献给大连海事大学的吴楠老师,柳晓鸣老师,王新年老师以及张晶泊老师。 转载的同学请保留上面这句话,谢谢。如果还能保留文章来源就更感激不尽了。 ——更新于2014.6.6,想直接看更新的同学可以直接跳到第四章————...原创 2019-03-06 14:14:28 · 2526 阅读 · 0 评论 -
opencv将一副图像分割为多幅图像并存储
将图像放在项目工程里,本程序将图像分割成64*64大小的子图像。先看结果图:当然,可以用能整除图片的宽和高的其他数字代替代码中所有64,来改变子图大小。#include "opencv2/opencv.hpp"#include &amp;lt;opencv2/highgui/highgui.hpp&amp;gt; #include &amp;lt;iostream&amp;g原创 2019-02-28 18:52:41 · 7580 阅读 · 2 评论 -
VS2010 / VC2010 BUG应对:to_string 重载函数不完整 导致编译错误
按照C++11的标准,to_string函数对每个基础算术类型均有重载函数。但是VC2010的C++库中没有实现所有的重载函数,而是只实现了其中的几个。参见:http://connect.microsoft.com/VisualStudio/feedback/details/576750/c-0x-std-to-string-is-non-conforming受此影响,以下代码无法编译: ...原创 2019-02-28 16:32:31 · 2378 阅读 · 0 评论 -
OpenCV实现Gabor滤波(二) +全代码
图1 不同中心震荡频率下在Gabor函数#include &amp;amp;lt;opencv2/core/core.hpp&amp;amp;gt;#include &amp;amp;lt;opencv2/imgproc/imgproc.hpp&amp;amp;gt;#include &amp;amp;lt;opencv2/highgui/highgui.hpp&amp;amp;gt;#inclu原创 2019-02-28 15:55:07 · 3472 阅读 · 2 评论 -
Opencv矩阵操作copyTo convertTo clone reshape
<div id="article_content" class="article_content clearfix csdn-tracking-statistics" data-pid="blog" data-mod=popu_307 data-dsm = "post" > <div class="article-copyright">原创 2018-11-04 10:31:16 · 932 阅读 · 0 评论 -
openCV图像矩阵Mat和二维数组的互相转换
openCV图像矩阵Mat和二维数组的互相转换目的在openCV的应用中,我们获取图像的矩阵信息很简单。但是我们可能想调用其他的矩阵运算库(比如Eigen库)来进行计算。那么我们就需要把openCV读取到的类型(比如Mat类型)的矩阵信息传递到另外类型(比如Eigen库的MatrixXd类型)的矩阵。这该怎么办呢?1代码只要您配置了openCV库,那么直接拷贝下面这段代码,稍加修改读取图片...原创 2018-11-03 19:12:22 · 7440 阅读 · 6 评论 -
opencv 笛卡尔坐标转换为极坐标 cvLogPolar的应用二
极坐标变换定义">极坐标变换定义我们知道在二维坐标系中,有直角坐标系,也有极坐标系,二者的转换关系是: 如下图: 如图,直角坐标系的圆心与极坐标系的圆心一一对应,且圆弧BA可以通过极坐标变换到极坐标系ρ=r的一条直线上,实现由圆形到直线的转换。这往往在一些图像处理中很有用。实际上,我们在图像处理中,往往还不是处理这样的圆弧,而更多的是处理圆环区域。如下, ...原创 2018-11-06 09:55:59 · 2983 阅读 · 0 评论 -
线性滤波、非线性滤波区别
数字图像处理线性滤波:输出图像fo(x,y)= T[ fi(x,y) ],T是线性算子,即:输出图像上每个像素点的值都是由输入图像各像素点值加权求和的结果。非线性滤波的算子中包含了取绝对值、置零等非线性运算。线性滤波器的原始数据与滤波结果是一种算术运算,即用加减乘除等运算实现,如均值滤波器(模板内像素灰度值的平均值)、高斯滤波器(高斯加权平均值)等。由于线性滤波器是算术运算,有固定的模板,因...原创 2018-10-08 14:19:54 · 21262 阅读 · 4 评论 -
图像的一维熵和二维熵
图像的一维熵和二维熵图像的熵是一种特征的统计形式,它反映了图像中平均信息量的多少。图像的一维熵表示图像中灰度分布的聚集特征所包含的信息量,令Pi表示图像中灰度值为i的像素所占的比例,则定义灰度图象的一元灰度熵为:图象的一维熵可以表示图像灰度分布的聚集特征,却不能反映图像灰度分布的空间特征,为了表征这种空间特征,可以在一维熵的基础上引入能够反映灰度分布空间特征的特征量来组成图像的二维熵。选...原创 2018-09-29 11:04:03 · 6584 阅读 · 0 评论 -
虹膜识别内圆检测 精定位 求最大比率
本文和下文介绍如何对一个虹膜图像进行分割提取出虹膜,在虹膜分割中,最重要的是检测两个圆,一个内圆,一个是外圆。下面是两个圆的示意图。本文先讲解如何检测内圆,在我的方法中,内圆的检测可分为四步:1. 用Canny边缘检测和Hough变换从经过高斯平滑处理后的图片中检测圆。在此步操作,我故意把Hough变换的阈值设得比较小,这样我们就可以检测出很多圆了。下图就是用cvHoug...原创 2018-10-18 09:27:21 · 935 阅读 · 0 评论 -
将开源虹膜识别算法OSIRIS4.1移植到Windows
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/ss910/article/details/74783543 开源虹膜识别算法OSIRIS是在Linux下运行的,为了介绍给众多windows平台下的开发者,这里简述一下如何把它移植到windows。...转载 2018-09-28 20:31:31 · 1692 阅读 · 0 评论 -
虹膜识别与虹膜定位(续)算法实现 参考介绍
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/piaoxuezhong/article/details/78503740 在http://blog.csdn.net/piaoxuezhong/article/details/77966132中大致...原创 2018-09-28 20:14:03 · 5455 阅读 · 0 评论 -
OpenCV中的cvRound()、cvFloor()、 cvCeil()函数讲解
版权声明:本文为博主原创文章,欢迎阅读与转载,转载请注明出处与链接。 https://blog.csdn.net/sinat_36264666/article/details/78849125 功能:cvRound(), cvFloor(), cvCeil()函数讲解。函数cvRound,cvF...原创 2018-10-13 14:48:57 · 2049 阅读 · 0 评论 -
cvCopy与cvCloneImage、cvCopyimage的区别
如果设定了ROI等参数的时候,cvCopy只是复制被设定的区域,复制到一个和所设定参数相吻合的新的IplImage中而cvCloneImage则是将整个IplImage结构复制到新的IplImage中,其中的ROI等参数也会一同复制。新的IplImage将会和原来的一模一样。cvCopy的原型是:void cvCopy( const CvArr* src, CvArr* dst, const...原创 2018-10-17 21:55:01 · 1313 阅读 · 0 评论 -
睁眼 闭眼 眯眼检测算法
睁眼 闭眼 眯眼检测算法功能:能够实现循环的读入一连串连续的图像,图像的下标一定要连续!然后读入图像进行一些列的处理,具体什么操作看代码!然后对虹膜图像进行霍夫圆画图操作,看是1.5的反比能画霍夫圆还是2的时候能够画霍夫圆,检测i=1还是i=0或者i大于1 判断画了几条霍夫圆,从而判断出来是闭眼还是睁眼,还是眯眼! 然后把检测的图像进行保存,分别把闭眼眯眼睁眼的虹膜图像保存在文件中,...原创 2018-10-13 11:27:23 · 5618 阅读 · 1 评论 -
清晰度检测照片算法
清晰度检测照片算法功能:可以从一个指定的文件夹中读取照片,然后转为灰度图像等处理,然后把处理的虹膜图像进行分类,清晰的图像存储在一个文件夹中,不清晰的虹膜图像也存在一个文件夹中,文件夹中图像的下标从1开始递增,也可以自己修改代码吧原始图像的编号原封不动的进行保存。代码如下:#include &amp;lt;highgui/highgui.hpp&amp;gt;#include &amp;lt;imgproc/im...原创 2018-10-13 10:53:24 · 2725 阅读 · 0 评论 -
imageROI ROI函数
penCV中Mat类的图像如何设置ROI分类: 计算机视觉 OpenCV2013-06-03 21:45 1273人阅读 评论(0) 收藏 举报Mat类表示的图像进行ROI操作有两种方法(1)使用拷贝构造函数Mat(constMat& m, const Rect& roi ),矩形roi指定了兴趣区例如:[cpp] view plaincopy...原创 2018-10-03 21:09:15 · 3875 阅读 · 0 评论 -
三点区域生长算法
图像分割是一种重要的图像处理技术,而区域生长是图像分割技术的一种。区域生长的基本思想是将具有相似性的像素集合起来构成区域。首先对每个需要分割的区域找出一个种子像素作为生长的七点,然后将种子像素周围邻域中与种子有相同或相似性质的像素(根据事先确定的生长或相似准则来确定)合并到种子像素所在的区域中。而新的像素继续作为种子向四周生长...原创 2018-10-02 11:29:58 · 2654 阅读 · 0 评论 -
opencv 图像卷积运算函数filter2D()
对于使用掩模板矩阵(kernel)计算每个像素值,结合函数filter2D()函数,其定义如下:CV_EXPORTS_W void filter2D( InputArray src, OutputArray dst, int ddepth, InputArray kernel, Point anchor=Point(-1,-1), ...原创 2018-10-18 14:27:39 · 1775 阅读 · 0 评论 -
opencv1.0基础操作 还掺合opencv3操作
读取图片Mat srcImage = imread(“image1.jpg”); 判断图片是否为空srcImage.empty();转为灰度图Mat grayImage;cvtColor(srcImage,grayImage,CV_BGR2GRAY);获取/修改灰度图于(i,j)像素值grayImage.at<char>(i,...原创 2018-10-18 15:12:08 · 778 阅读 · 0 评论