学习opencv
文章平均质量分 79
BFNJ
这个作者很懒,什么都没留下…
展开
-
【图像处理】人眼区域分割(1)
基于灰度投影曲线的人眼定位原创 2017-10-20 21:09:58 · 4654 阅读 · 0 评论 -
【图像处理】人眼区域分割尝试方法之双峰阈值分割法
双峰阈值分割法提取人眼人眼区域分割(1)初步通过求人脸的灰度投影曲线,得到人脸矩阵从行角度变化的规律:波谷一定包含人眼的部分,波峰到波谷的阶跃最大的部分一般为眼睛到鼻尖的部分。思路: 通过人脸的灰度变化规律提取包含人眼部分的ROI图片,此时眼睛作为前景,而皮肤作为背景,可通过双峰找到阈值来分割ROI图片,则以最大限度保留人眼的部分。步骤:1. 提取ROI图片...原创 2017-10-27 22:14:25 · 8437 阅读 · 2 评论 -
【图像处理】人眼区域分割(2)之梯度积分投影曲线
人眼区域分割(2) 在人眼区域分割(1)中,对人脸图片求水平投影曲线(也叫IPF),其反映的是每行像素和的变化曲线,即反应了整体的灰度变化,并没有反映眼睛局部灰度变化明显的特点,所以在曲线中不能唯一而又准确的显示眼睛的位置,若想找到眼睛,则必须要良好的滤波。对于此,采用了其他的投影方法,并通过该曲线来截取人眼区域。目录:梯度积分投影分析投影曲线人眼区域分割总结...原创 2017-12-01 15:24:39 · 2815 阅读 · 0 评论 -
【图像处理】虹膜检测(1)之霍夫圆检测
在获得了人眼窗口的基础上进行虹膜检测,虹膜如下图所示。对于普通摄像头获得的图片像素过低,无法区分虹膜和瞳孔。则先检测虹膜。 霍夫圆检测对于人眼图片可进行霍夫园检测获得虹膜。下图是利用霍夫圆检测人眼图片获得的圆。 简单介绍一下霍夫园检测的方法以及如何调节参数.HoughCircles函数void HoughCircles( InputArray image, Ou...原创 2018-02-09 17:24:27 · 4084 阅读 · 5 评论 -
运动物体检测以及追踪
概括:运动物体检测是应用差分法实现,运动物体追踪是利用基于时间序列预测模型实现。运动物体检测常用的检测方法为背景减除法和帧差法,这两种方法原理基本上都是图片相减。两种方法各有优缺点: 帧差法适用于更多场景,如:摄像头移动以及多目标运动场景,缺点就是检测的人物之间容易出现空洞。 背景减除法,适用场景局限,只适用于第一帧是背景图的视频,但检测人物没有空洞。 以上这两种方法均...原创 2018-02-23 23:34:48 · 28164 阅读 · 15 评论 -
【图像处理】已知圆某一参数进行霍夫圆检测
在直线检测的基础上理解了霍夫变换,圆检测也是利用霍夫变换的原理。 在直角坐标系中圆的方程为: (x−a)2+(y−b)2=r2(x−a)2+(y−b)2=r2(x-a)^2+(y-b)^2=r^2 极坐标系方程:x=a+rcosθx=a+rcosθx=a+rcos\thetay=b+rsinθy=b+rsinθy=b+rsin\theta 将极坐标方程转化为参数空间的方程: a=x−r...原创 2018-03-30 21:34:25 · 654 阅读 · 0 评论 -
人眼定位算法简单概述
这篇博客只是总结一下人眼定位的方法。 首先人眼定位效果是得到人眼的坐标,即瞳孔的坐标。大体来说人眼定位的方法有两种,第一种是利用人眼的几何特征,灰度特征等通过算法来实现定位,第二种要通过机器学习,其实opencv自带了瞳孔分类器,但我应用起来效果并不是很好。下面主要是讲解一下通过特征定位人眼的一些算法。以下对每种方法的实验均是利用低分辨率的图片,即是利用普通摄像头获取的图片。 基...原创 2018-05-04 19:33:39 · 11315 阅读 · 2 评论 -
于仕琪开源库libfacedetection+vs2017配置过程
于仕琪老师的开源库效果很好,好像是前一段时间刚刚开源,特在这里贴一下的我的配置过程以供参考。1.首先你要下载cmake来编译开源库,以及下载于老师的libfacedetect 2.用cmake编译,推荐使用命令行。以下路径是我存放路径,根据自己实际情况进行更改cd C:\Software\libdetect\libfacedetection-mastermkdir bulidcd bul...原创 2019-04-03 10:01:24 · 2735 阅读 · 8 评论 -
Dlib-19.17+vs2017配置过程
Dlib是一个机器学习库,之前做过瞳孔定位基于opencv自带的级联分类器检测人脸,但是检测侧脸效果不佳,因此换个库用一下。其实dlib的安装过程和opencv类似,但是由于DLib需要编译生成静态链接以供链接使用。Dlib的安装过程1.首先下载Dlib(链接)2.在vs新建工程最好是空白工程,创建控制台工程会出现预编译的问题,创建空白工程可以设置项目属性-链接-系统-子系统-控制台,即可...原创 2019-03-29 15:43:40 · 1417 阅读 · 1 评论 -
【opencv】对利用Mat创建指向的理解
Mat tem(Size(3,4),CV_8UC1,Scalar(0));Mat img=imread("XXXXX");在opencv3.0中,如上利用Mat类来初始化一张图片或矩阵等,实际创建了指向矩阵或图片内存空间的引用即指针。原创 2018-03-05 16:20:31 · 458 阅读 · 0 评论 -
【学习opencv】实现霍夫变换(1)检测直线
目前想对于霍夫圆检测进行修改,想法是若能在固定圆心的横坐标的情景下去搜索圆,若要实现就需要对霍夫检测有一定的深入了解。霍夫变换原理霍夫变换原理实则就是参数空间的转变。极坐标转换首先因为直角坐标系中垂直于x轴的直线不存在,即转换用极坐标表示,即用ρ,θρ,θ\rho,\theta表示,对应于下图中的rho,degree。下图中x,y轴的画法是根据图像在窗口中显示的坐标方法。...原创 2018-03-18 20:25:41 · 766 阅读 · 0 评论 -
【学习opencv】高斯滤波及其实现
高斯滤波及其实现创建高斯滤波核原创 2017-11-24 20:57:33 · 2710 阅读 · 0 评论 -
【学习opencv】Sobel算子原理及其实现
Sobel算子原理及其实现原理:Sobel算子理论上是对图像进行一阶求导,而后为了方便计算设计了3x3的卷积模板。Sobel算子可以计算水平Gx和垂直方向Gy的梯度变换.Gx方向的卷积模板:Gy方向的卷积模板:opencv还提供了一个scharr函数,比Sobel算子更为精准,也是3x3的模板。实现:实现较为简单,只需要遍历像素矩阵,对每一个3x3的像素矩阵与模板矩阵进行卷积运算即可,这里需要注意的原创 2017-11-17 16:39:33 · 4177 阅读 · 0 评论 -
【学习opencv】opencv中遍历像素点以及Mat类解释
Mat的构造函数Mat类中有很多构造函数:原创 2017-11-02 21:31:48 · 1206 阅读 · 0 评论 -
【学习opencv】opencv人脸检测
首先利用opencv自带的训练文件haarcascade_frontalface_alt.xml和haarcascade_eye.xml检测人脸及人眼,其次初步尝试如何利用opencv训练数据以及获得训练文件(.xml).原创 2017-10-13 17:37:40 · 914 阅读 · 0 评论 -
【学习opencv】opencv条行码检测
条形码识别(简单背景)利用opencv来识别条形码,首先了解条形码的基本知识 条形码(barcode)是将宽度不等的多个黑条和空白,按照一定的编码规则排列,用以表达一组信息的图形标识符。分析:识别条形码与车牌类似,检测出图片中的垂直边缘并进行开操作从而形成联通区域,再进行腐蚀膨胀处理以便对条形码位置有更精准的定位。车牌识别可以根据长宽比来筛选,而条形码有不同规格则条形码长宽比不能成为筛选条件,原创 2017-09-27 22:16:31 · 1037 阅读 · 0 评论 -
【图像处理】鼠标预测算法
这篇文章借鉴于youtobe上的视频https://www.youtube.com/watch?v=Tbcn7XTXunA. 视频主要内容是对鼠标移动的预测。其具体的预测是对鼠标移动距离的预测。 而预测方法采用得是统计学的方法:加权平均法时间序列预测时间序列预测就是根据前一时间段的数据预测下一时间段的数据。时间预测方法有很多,最简单的就是平均值预测,根据前一时间所有的数据求取平均值从而...原创 2018-02-17 22:32:37 · 2801 阅读 · 0 评论