E-COM-NET
首页
在线工具
Layui镜像站
SUI文档
联系我们
推荐频道
Java
PHP
C++
C
C#
Python
Ruby
go语言
Scala
Servlet
Vue
MySQL
NoSQL
Redis
CSS
Oracle
SQL Server
DB2
HBase
Http
HTML5
Spring
Ajax
Jquery
JavaScript
Json
XML
NodeJs
mybatis
Hibernate
算法
设计模式
shell
数据结构
大数据
JS
消息中间件
正则表达式
Tomcat
SQL
Nginx
Shiro
Maven
Linux
OpenCV2.4
Opencv2.4
学习::特征分析(一)尺度空间
尺度空间尺度空间就是试图在图像领域中模拟人眼观察物体的概念与方法。这是由于通过计算机视觉系统,我们无法直接获取所关注物体、对象的大小,这时候就需要一个尺度空间来描述感觉还是有点抽象,再引用一段说明:在一定的范围内,无论物体是大还是小,人眼都可以分辨出来。然而计算机要有相同的能力却不是那么的容易,在未知的场景中,计算机视觉并不能提供物体的尺度大小,其中的一种方法是把物体不同尺度下的图像都提供给机器,
dieju8330
·
2018-11-27 20:44
Opencv
Opencv2.4
学习::基于形态学处理+基本特征实现车牌区域提取
基于形态学处理+基本特征实现车牌区域提取1、形态学梯度2、Sobel边缘检测实际上,提取车牌还是那个思路:区域分离->轮廓检测->特征判断这里提供这样一个算法,来源于《OpenCV图像处理编程实例》步骤如下:边缘检测,检测垂直边缘,尽量减少横向的边缘连通车牌区域----->实现手段:形态学梯度、或者Sobel边缘检测的垂直方向,当然也可以用其他边缘检测方法对边缘实现二值化区域填充,填补空洞----
dieju8330
·
2018-11-22 20:09
Opencv
Opencv2.4
学习::形态学滤波-角点检测
形态学滤波-角点检测就是利用形态学处理中的腐蚀和膨胀操作进行的角点检测、边缘检测。基本步骤第一步:十字型核-------->【对原图:膨胀操作】效果:原图在水平和垂直方向会扩展,而45度.135度方向没有得到扩展目的:目的是使得在下一步的腐蚀操作中,保证腐蚀后的边缘与原图一致,而只有角点被腐蚀掉第二步:菱形核-------->【对第一步的结果:腐蚀操作】效果:使得第一步的结果在水平和垂直方向被腐蚀
dieju8330
·
2018-11-10 20:31
Opencv
Opencv2.4
学习::形态学处理(三)形态学梯度、顶帽、黑帽
形态学处理(三)1、腐蚀、膨胀操作2、开运算、闭运算3、形态学梯度、顶帽、黑帽形态学梯度形态学梯度实为膨胀图与腐蚀图之差。作用:突出高亮区域的外围为轮廓查找提供新思路测试代码:#include#include#include#includeusingnamespacestd;usingnamespacecv;voidmain(){MatsrcImg=imread("F:\\opencv_re_le
dieju8330
·
2018-11-09 18:33
Opencv
Opencv2.4
学习::形态学处理(二)开运算、闭运算操作
形态学处理(二)1、腐蚀、膨胀操作2、开运算、闭运算开运算开运算(OpeningOperation),其实就是先腐蚀后膨胀的操作。作用:去除噪声,消除小物体在纤细点处分离物体平滑较大物体的边界的同时并不明显改变其面积简单测试:#include#include#include#includeusingnamespacestd;usingnamespacecv;voidmain(){MatsrcImg
dieju8330
·
2018-11-07 17:40
Opencv
Opencv2.4
学习::角点检测(三)Shi-Tomasi角点
角点检测(三)1、moravec角点2、harris角点3、Shi-Tomasi角点Shi-Tomasi角点从上一篇harris角点可知,harris判断是否角点的评判公式是:R=λ1λ2-k(λ1+λ2)²而这里的Shi-Tomasi角点,是harris角点算法的一个变式,其评判公式为:R=min(λ1,λ2)即为,当矩阵M的两个特征值λ都大于设定阈值时,才判定为角点。核心函数voidgoodF
dieju8330
·
2018-11-05 16:39
Opencv
Opencv2.4
学习::角点检测(二)harris角点
角点检测(二)1、moravec角点2、harris角点3、harris角点本节内容是以moravec角点的检测原理为基础的,建议先去浏览。原理部分(1)先从moravec角点算法的兴趣值计算公式说起:①(2)回顾泰勒公式②(3)将(1)中的公式①按二维下的泰勒展开,取近似一阶,有:③:对x求偏导(4)将③代入①,以泰勒展开的一阶近似代替f(x+u,y+v),有:(5)从上面的推导中,可以看出,该
dieju8330
·
2018-11-02 16:02
Opencv
Opencv2.4
学习::角点检测(一)
角点检测(一)1、moravec角点2、3、基本原理:我们在图片以某像素点为中心,取一邻域(比如3*3),当窗口向各个方向移动时,其内部灰度值变化不是很明显,则该点即处在平坦区域(如左边图);当其内部灰度值只在几个固定的方向上变化较为明显,那么该点则处在边缘区域(如图中间部分);当向各个方向移动,其变化都是很明显,则该点为角点(如图右)。基本步骤:(1)在当前像素点取一窗口,如3*3,当前像素为中
dieju8330
·
2018-10-31 18:10
Opencv
Opencv2.4
学习::轮廓矩【判断形态方向、匹配度】
轮廓矩原理部分:矩一、概率论上的定义看到矩这个字,很容易联想到概率论,在概率论中,定义如下:或者说:设X和Y是随机变量,c为常数,k为正整数,如果E(|X−c|^k)E(|X−c|^k)存在,则称E(|X−c|^k)E(|X−c|^k)为X关于点c的k阶矩。c=0时,称为k阶原点矩;c=E(x)时,称为k阶中心矩。如果E(|X−c1|^p⋅|Y−c2|^q)存在,则称其为X,Y关于c点p+q阶矩。
dieju8330
·
2018-10-24 18:01
Opencv
Opencv2.4
学习::轮廓检测
轮廓检测意义:轮廓信息对于物体检测而言有着十分重要的意义,根据提取到的轮廓信息,通过轮廓点集的特征选择适合的处理算法,即可提取到物体的形状信息,从而提取所需检测的物体。大概原理:对原图像进行二值化处理,利用边缘点连接的层次差别,提取位于结构特征高的区域点集构成的集合,这部分点集很可能就是物体的轮廓。核心函数:详细参见:https://www.jianshu.com/p/4bc3349b4611有官
dieju8330
·
2018-10-09 22:02
Opencv
Opencv2.4
学习::霍夫变换(2)圆变换
霍夫圆变换基本原理关于基本原理,其思想大概跟霍夫线变换相似,但是有两种说法。第一种:在霍夫线变换中,笛卡尔X-Y直角坐标系中的直线,变换到霍夫空间中则为1个点因此类比可得,笛卡尔X-Y直角坐标系中的圆,变换到abr空间中,则为一条曲线,具体如下:X-Y直角坐标系下圆方程:对应的参数方程为:所以在abr组成的三维坐标系中,一个点可以唯一确定一个圆。那么,当我们固定(x,y),选取(a,b,r)的不同
dieju8330
·
2018-09-30 18:59
Opencv
Opencv2.4
学习::边缘检测(6)Marr-Hildreth算法(LOG算法)
边缘检测1、Sobel2、Laplace3、Roberts4、CannyMarr-Hildreth简单来说,就是先对图像进行(1)高斯滤波,再进行拉普拉斯变换,(2)由于拉普拉斯变换是二阶偏导,边缘点对应的一阶偏导为局部极值,那么其二阶偏导则为0点,(3)所以最后一步为0点检测相关数学证明请参见:https://blog.csdn.net/songzitea/article/details/128
dieju8330
·
2018-09-25 19:49
Opencv
Opencv2.4
学习::边缘检测(5)Canny算法
边缘检测1、Sobel2、Laplace3、Roberts4、CannyCannycanny对边缘检测质量进行分析时,有3个原则:1、信噪比准则2、定位精度准则3、单边缘响应准则canny边缘检测的基本思想是:首先对图像选择一定的Gauss滤波器进行平滑滤波,然后采用非极值抑制技术进行处理得到最后的边缘图像。Canny算法基本可分为4个步骤:步骤一:滤波平滑噪声。GaussianBlur(src,
dieju8330
·
2018-09-24 16:06
Opencv
Opencv2.4
学习::边缘检测(4)Roberts算子
边缘检测1、Sobel2、Laplace3、Roberts4、CannyRoberts就是以对角线作为差分的方向来检测实现代码:#include#include#include#includeusingnamespacestd;usingnamespacecv;//Roberts算子实现Matroberts(MatsrcImage){MatdstImage=srcImage.clone();int
dieju8330
·
2018-09-22 17:30
Opencv
Opencv2.4
学习::边缘检测(3)Laplace算子
边缘检测1、Sobel2、Laplace3、Roberts4、CannyLaplace索贝尔算子(Sobel)和拉普拉斯算子(Laplace)都是用来对图像进行边缘检测的,不同之处在于,前者是求一阶导,后者是求二阶导。Laplace(f)=∂2f∂x2+∂2f∂y2=f(x+1,y)+f(x−1,y)+f(x,y+1)+f(x,y−1)−4f(x,y)从拉普拉斯核可以看到,计算过程大概就是将4邻域
dieju8330
·
2018-09-22 17:56
Opencv
Opencv2.4
学习::边缘检测(1)边缘检测基础
边缘检测1、Sobel2、Laplace3、Roberts4、Canny边缘检测概念梯度算子概念但是,图像是离散的数字量,因此梯度一般为像素点与相邻像素点的差值,而方向则与选定的相邻像素点位置有关。下引用参考博客的叙述:https://blog.csdn.net/qq_18815817/article/details/78625845对于数字图像而言,相当于对二维离散函数求梯度,如下:G(x,y)
dieju8330
·
2018-09-20 16:24
Opencv
Opencv2.4
学习::颜色提取
颜色提取Opencv中,颜色提取的一种方式是将BGR空间下的图像转换为HSV空间下,然后利用opencv自带函数inRange,设置需提取的HSV各分量上下限,从而进行提取。关于颜色空间关于颜色空间转换请参见:https://blog.csdn.net/dieju8330/article/details/82465616以及https://blog.csdn.net/ColdWindHA/arti
dieju8330
·
2018-09-19 17:30
Opencv
Opencv2.4
学习::图像污点修复
图像污点修复原理摘自:https://blog.csdn.net/qq_20823641/article/details/52252072参考上图,Ω区域是待修复的区域;δΩ指Ω的边界);要修复Ω中的像素,就需要计算出新的像素值来代替原值。现在假设p点是我们要修复的像素。以p为中心选取一个小邻域B(ε),该邻域中的点像素值都是已知的(只要已知的)。(这个ε就是opencv函数中参数inpaintR
dieju8330
·
2018-09-18 19:21
Opencv
Opencv2.4
学习::滤波(5)导向滤波
滤波系列:均值滤波中值滤波高斯滤波双边滤波导向滤波下引用https://blog.csdn.net/baimafujinji/article/details/74750283的一段话来说明导向滤波的作用:无论是简单平滑,还是高斯平滑,它们都有一个共同的弱点,即它们都属于各向同性滤波。我们都知道,一幅自然的图像可以被看成是有(过渡平缓的,也就是梯度较小)区域和(过渡尖锐的,也就是梯度较大)边缘(也包
dieju8330
·
2018-09-18 17:16
Opencv
Opencv2.4
学习::滤波(4)双边滤波
滤波系列:均值滤波中值滤波高斯滤波双边滤波双边滤波给出一张双边滤波过程图结合理解:双边滤波,通俗来说就是根据(1)当前像素和领域像素的距离分配权重(2)当前像素和领域像素值大小分配权重可滤低频分量(上图中两个阶梯平面的毛刺),对高频分量(阶梯垂直高度)不敏感因此可作为保留边缘、滤低频噪声核心函数:C++:voidbilateralFilter(InputArraysrc,OutputArrayds
dieju8330
·
2018-09-17 16:30
Opencv
Opencv2.4
学习::滤波(3)高斯滤波
滤波系列:均值滤波中值滤波高斯滤波双边滤波高斯滤波高斯核:(不一定是这个值,值由高斯核模版确定)简单来说,就是将之前图像卷积部分,将核改成高斯核即可,卷积内容参见:https://blog.csdn.net/dieju8330/article/details/82715183函数:voidGaussianBlur(InputArraysrc,OutputArraydst,Sizeksize,dou
dieju8330
·
2018-09-16 17:43
Opencv
Opencv2.4
学习::滤波(2)中值滤波
滤波系列:均值滤波中值滤波高斯滤波双边滤波中值滤波C++:voidmedianBlur(InputArraysrc,OutputArraydst,intksize)InputArraysrc:输入图像,图像为1、3、4通道的图像,当模板尺寸为3或5时,图像深度只能为CV_8U、CV_16U、CV_32F中的一个,如而对于较大孔径尺寸的图片,图像深度只能是CV_8U。OutputArraydst:输
dieju8330
·
2018-09-16 16:48
Opencv
Opencv2.4
学习::滤波(1)均值滤波
滤波系列:均值滤波中值滤波高斯滤波双边滤波均值滤波核:C++:voidblur(InputArraysrc,OutputArraydst,Sizeksize,Pointanchor=Point(-1,-1),intborderType=BORDER_DEFAULT)源图像,填Mat类的对象即可。该函数对通道是独立处理的,且可以处理任意通道数的图片,但需要注意,待处理的图片深度应该为CV_8U,CV
dieju8330
·
2018-09-16 16:50
Opencv
Opencv2.4
学习::图像卷积
图像卷积直观表示:(这部分内容来自:https://blog.csdn.net/chaipp0607/article/details/72236892?locationNum=9&fps=1)(原文中还有关于模糊、锐化、提取边缘的各种核的描述,通过卷积可以实现这些操作)数字图像处理中卷积数字图像是一个二维的离散信号,对数字图像做卷积操作其实就是利用卷积核(卷积模板)在图像上滑动,将图像点上的像素灰
dieju8330
·
2018-09-15 17:46
Opencv
Opencv2.4
学习::垂直投影法分割字符
1、垂直投影法假定输入图片中字符为白色,背景为黑色即为将图片看作是由【x1,x2,x3,x4.......】列向量组成的矩阵。统计每列中白色像素的个数,并以此来判断是字符区还是背景。测试图片:车牌号为模拟产生,如有相同,纯属雷同2、代码实现:(主要分3部分)#include#include#include#include#includeusingnamespacestd;usingnamespac
dieju8330
·
2018-09-11 19:44
Opencv
Opencv2.4
学习::(二维)最大熵阈值分割----信息量最大化分割
一维最大熵阈值分割应该比较好理解,可参见:http://blog.sina.com.cn/s/blog_159aff7940102xbm4.html二维一、灰度直方图二、熵(这里实在看不懂,请大神赐教)虽然看不懂,但还是按书上敲一次,代码实现:#include#include#include#includeusingnamespacestd;usingnamespacecv;//计算当前位置的能量
dieju8330
·
2018-09-09 19:33
Opencv
Opencv2.4
学习::根据直方图匹配原图像-----直方图反向投影
书中的解释有些晦涩难懂,下面利用摘自https://blog.csdn.net/marshwb/article/details/21329063进行通俗解释:1.反向投影的作用是什么?反向投影用于在输入图像(通常较大)中查找特定图像(通常较小或者仅1个像素,以下将其称为模板图像)最匹配的点或者区域,也就是定位模板图像出现在输入图像的位置。2.反向投影如何查找(工作)?查找的方式就是不断的在输入图像
dieju8330
·
2018-09-08 21:17
Opencv
Opencv2.4
学习::彩色直方图均衡化
#include#includeusingnamespacestd;usingnamespacecv;intmain(){MatsrcImage=imread("F:\\opencv_re_learn\\2.jpg");if(!srcImage.data){coutBGR_plane;//分离BGR通道split(srcImage,BGR_plane);//分别对BGR通道进行直方图均衡化for(
dieju8330
·
2018-09-08 20:11
Opencv
Opencv2.4
学习::亮度平衡--直方图均衡化
算法看起来比较复杂,但是由于opencv已经有内置实现代码,因此调用代码比较简单:#include#includeusingnamespacestd;usingnamespacecv;intmain(){MatsrcImage=imread("F:\\opencv_re_learn\\2.jpg");if(!srcImage.data){cout<<"failedtoread"<
dieju8330
·
2018-09-08 19:15
Opencv
Opencv2.4
学习::灰度直方图
实现代码:#include#include#includeusingnamespacestd;usingnamespacecv;intmain(){MatsrcImage=imread("F:\\opencv_re_learn\\2.jpg");if(!srcImage.data){cout(i-1))),Point(bin_w*(i),hist_h-cvRound(hist.at(i))),Sc
dieju8330
·
2018-09-07 19:38
Opencv
Opencv2.4
学习::二值化(3)自适应二值化
二值化系列:(1)OTSU算法(2)固定二值化(3)自适应二值化adaptiveThresholdvoidadaptiveThreshold(InputArraysrc,OutputArraydst,doublemaxValue,intadaptiveMethod,intthresholdType,intblockSize,doubleC);doublemaxValue--------------
dieju8330
·
2018-09-07 19:23
Opencv
Opencv2.4
学习::二值化(2)threshold
二值化系列:(1)OTSU算法(2)固定二值化(3)自适应二值化比较简单,直接使用即可#include#include#includeusingnamespacestd;usingnamespacecv;intmain(){MatsrcImage=imread("F:\\opencv_re_learn\\2.jpg");if(!srcImage.data){cout<<"failedtoread"
dieju8330
·
2018-09-07 18:37
Opencv
默认python3版本,python2没有pip2模块,解决方案
问题:树莓派docker环境,默认python3版本,
OpenCV2.4
只支持python2.7;python2.7没有face_recognition模块,需要pip2install安装导入;pythonfacerec_from_video_file.pyTraceback
jacka654321
·
2018-09-06 23:07
python
树莓派
Opencv2.4
学习::二值化(1)OTSU算法
二值化系列:(1)OTSU算法(2)固定二值化(3)自适应二值化code:#include#include#include#includeusingnamespacestd;usingnamespacecv;//OTSU实现函数intOTSU(MatsrcImage){intnCols=srcImage.cols;intnRows=srcImage.rows;intthreshold=0;//初始
dieju8330
·
2018-09-06 19:38
Opencv
Opencv2.4
学习::批量读取图片(图片文件名字有序情况下)
字符串格式化函数:sprintf原型intsprintf(char*buffer,constchar*format,[argument]…);参数列表buffer:char型指针,指向将要写入的字符串的缓冲区。format:格式化字符串。[argument]...:可选参数,可以是任何类型的数据。详细格式化规则,参见http://www.runoob.com/cprogramming/c-func
dieju8330
·
2018-09-06 18:14
Opencv
Opencv2.4
学习::颜色空间转换(BGR2HSV)
常见颜色空间:1、RGB:基于三原色2、HSV:色度、饱和度、亮度3、YUV:亮度、色度cvtColorvoidcvtColor(InputArraysrc,OutputArraydst,intcode,intdstCn=0)src:原图像dst:输出图像code:转换模式,有CV_RGB2GRAYCV_RGB2HSYCV_BGR2HLS等dstCn:目标图像多通道设置,默认为0,即自动获取BGR
dieju8330
·
2018-09-06 18:16
Opencv
Opencv2.4
学习::单窗口显示多图像
代码有些复杂,直接用就好了#include#include#include#includeusingnamespacestd;usingnamespacecv;voidshowManyImages(constvector&srcImages,SizeimgSize){intnNumImages=srcImages.size();SizenSizeWindows;if(nNumImages>12){
dieju8330
·
2018-09-05 18:47
Opencv
Opencv2.4
学习::ROI区域
rect方法:#include#include#includeusingnamespacestd;usingnamespacecv;//全局下的原图像MatsrcImage;//rect方法voidregionExtraction(intxRoi,intyRoi,intwidthRoi,intheightRoi){//创建ROIMatroiImage;//提取感兴趣区域srcImage(Rect(
dieju8330
·
2018-09-05 18:58
Opencv
Opencv2.4
学习::摄像头读取&&视频写入
实现代码:#include#include#include#includeusingnamespacestd;usingnamespacecv;intmain(){//定义VideoCapture对象选择摄像头VideoCapturecapture(0);//判断是否出错if(!capture.isOpened()){cout>frameImg;//判断是否读完if(!frameImg.empty
dieju8330
·
2018-09-04 18:27
Opencv
Opencv2.4
学习::视频读取
通用代码:#include"stdafx.h"#include#include#include#includeusingnamespacestd;usingnamespacecv;int_tmain(intargc,_TCHAR*argv[]){//定义VideoCapture对象VideoCapturecapture;//读取视频文件capture.open("F:\\opencv_re_lea
dieju8330
·
2018-09-04 18:22
Opencv
Opencv2.4
学习::旋转
Opencv2.4
内并没有直接可使用的函数,因此需代码实现。
dieju8330
·
2018-09-03 17:41
Opencv
Opencv2.4
学习::图像缩放
代码实现:#include#include"opencv2/imgproc/imgproc.hpp"#include"opencv2/highgui/highgui.hpp"#includeusingnamespacestd;usingnamespacecv;//基于等间隔提取图像缩放MatimageReduction1(Mat&srcImage,doublekx,doubleky){//计算输出
dieju8330
·
2018-09-02 19:51
Opencv
Opencv2.4
学习::Mat矩阵类型转换
#include#include"opencv2/imgproc/imgproc.hpp"#include"opencv2/highgui/highgui.hpp"usingnamespacecv;voidmain(){//Mat转换到其他Matimage_white(100,100,CV_8UC1,Scalar(255));//创建100*100白色矩阵Matimage_black(100,10
dieju8330
·
2018-09-02 16:33
Opencv
Opencv2.4
学习::Mat矩阵的创建
Mat类构造函数:类详细解释参见:https://blog.csdn.net/qq_37406130/article/details/787254061、Mat::Mat()无参数构造方法;2、Mat::Mat(introws,intcols,inttype)创建行数为rows,列数为col,类型为type的图像;3、Mat::Mat(Sizesize,inttype)创建大小为size,类型为t
dieju8330
·
2018-09-02 16:47
Opencv
详解opencv在windows环境下VS中的配置
目录0、准备工作1、opencv的安装2、系统变量的配置3、在vs中的配置3.1、include文件配置3.2、lib文件的配置3.3、链接库的配置4、测试用例0、准备工作0.1下载opencv,此处以
opencv2.4
chenyuping666
·
2018-08-02 09:15
C/C++
opencv+zbar配置实现简单的二维码和条形码识别
准备工作1.opencv配置2.zbar配置3.代码实现4.效果5.总结0.准备工作0.1我的实验配置:win10+VS2015community+opencv2.4+zbar0.100.2资源下载:
opencv2.4
chenyuping666
·
2018-07-30 10:45
C/C++
PCA浅浅一谈
从
OpenCV2.4
开始,加入了新的类FaceRecognizer,我们可以使用它便捷地进行人脸识别实验。
Coder_Hzz
·
2018-06-06 15:56
PCA浅浅一谈
从
OpenCV2.4
开始,加入了新的类FaceRecognizer,我们可以使用它便捷地进行人脸识别实验。
Coder_Hzz
·
2018-06-06 15:56
浅谈Openv中人脸识别类FaceRecognizer
opencv2.4
版本中封装了可用于人脸识别的类FaceRecognizer,其对应代码在动态链接库opencv_contrib249d.dll中(我用的是opencv2.4.9版本),这个动态链接库在
DP323
·
2018-06-01 11:23
OpenCV 人脸识别LBPH算法分析
从
OpenCV2.4
开始,加入了新的类FaceRecognizer,该类用于人脸识别,使用它可以方便地进行相关识别实验。原始的LBP算子定义为在3*3的窗口内,以窗口中心像素为阈值,将相邻的8个
Hirotransfer
·
2018-05-31 00:02
Computer
Vision
上一页
1
2
3
4
5
下一页
按字母分类:
A
B
C
D
E
F
G
H
I
J
K
L
M
N
O
P
Q
R
S
T
U
V
W
X
Y
Z
其他