- 博客(25)
- 资源 (4)
- 收藏
- 关注
原创 2017年联通软件研究院校园招聘面试经历
本人简单做总结。笔试比较简单,都是一些基础知识,选择,简答和编程。选择包含数据库和软件开发和数据结构的一些基础知识,例如SQL语句,黑盒测试和白盒测试等,简答题就是SQL语句分类,还有就是全局变量和局部变量的区别,编程题和浪潮的笔试有相同的题目,都很简单,比如排序啊,SQL选择语句,水仙花等题目,基本考得知识点都差不多,难度一般,大约一周之后会通知面试,山东省内的就只有一面,省外的会有二面,建议准
2016-12-07 10:54:14 14705 4
原创 图像相似度测量和模板匹配方法
摘要本文主要总结了进行目标跟踪、检测中经常使用到的图像相似度测量和模板匹配方法,并给出了具体的基于OpenCV的代码实现。引言模板匹配是一种在源图像中寻找与图像patch最相似的技术,常常用来进行目标的识别、跟踪与检测。其中最相似肯定是基于某种相似度准则来讲的,也就是需要进行相似度的测量。另外,寻找就需要在图像上进行逐行、逐列的patch窗口扫描,当然也不一定需要逐行逐列的扫描
2016-01-09 21:35:13 6435
原创 梯度直方图
1.介绍HOG(Histogram of Oriented Gradient)是2005年CVPR会议上,法国国家计算机科学及自动控制研究所的Dalal等人提出的一种解决人体目标检测的图像描述子,该方法使用梯度方向直方图(Histogram of Oriented Gradients,简称HOG)特征来表达人体,提取人体的外形信息和运动信息,形成丰富的特征集。2.生成过
2016-01-07 17:26:56 1021
原创 方向梯度直方图(HOG,Histogram of Gradient)
梯度(gradient):http://blog.csdn.net/jia20003/article/details/7664777 (含代码)在向量微积分中,标量场的梯度是一个向量场,标量场中某一点上的梯度指向标量场增长最快的方向,梯度的长度是最大的变化率。一阶微分:http://blog.csdn.net/jia20003/article/details/7562092 (
2016-01-07 17:24:13 650
原创 椭圆拟合
1.最小二乘拟合最小二乘拟合是一种数学上的近似和优化,利用已知的数据得出一条直线或者曲线,使之在坐标系上与已知数据之间的距离的平方和最小。2.RANSAC算法参见王荣先老师的博文 http://www.cnblogs.com/xrwang/archive/2011/03/09/ransac-1.html3,直线拟合建立模型时利用直线的一般方程AX+BY+C=
2016-01-07 10:42:32 4397
转载 opencv学习之轮廓高级应用(轮廓匹配,几何直方图)
最近再次用到了opencv轮廓,在这里结合作者冰山一角的博客(http://www.cnblogs.com/slysky/)以及自己的体会在此稍加说明。其程序主要参见冰山一角的Blog,遗憾的是代码是OpenCV1.0写的,等有时间再用2.4.2改写一篇。 对于轮廓的相关数据结构表示和几本操作(查找轮廓,画轮廓),可参见前面两片关于轮廓的例程,在这里不多讲。 对于查找轮廓
2016-01-04 16:05:21 4506 1
原创 光流介绍
光流的概念是Gibson在1950年首先提出来的。它是空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。一般而言,光流是由于场景中前景目标本身的移动、相机的运动,或者两者的共同运动所产生的。其计算方法可以分为三类:(1)基于区域或者基于特征的匹配方
2015-12-24 11:41:48 668
原创 opencv学习(9)利用形态滤波学检测角点
在一幅灰度图像中,我们可以把亮的那一部分比作山,暗的那一部分比作山谷,而边缘就是山和山谷的相接的地方,这部分的灰度值会急剧的变化。如果在边缘地方使用腐蚀操作,那么和边缘交接的亮的地方就会被0所替代,也就山的一部分变成了山谷,那么山的高度就降低了。而膨胀的结果和这个相反。而水平地势的地方,也就是山顶的平地不会被影响到。利用这个原理我们就可以找到图像的边缘。也就是找出腐蚀和膨胀后的图像的不同,
2015-12-08 10:53:49 582
原创 opencv学习篇(8)轮廓的查找、表达、绘制、特性及匹配
前言 轮廓是构成任何一个形状的边界或外形线。前面讲了如何根据色彩及色彩的分布(直方图对比和模板匹配)来进行匹配,现在我们来看看如何利用物体的轮廓。包括以下内容:轮廓的查找、表达方式、组织方式、绘制、特性、匹配。 查找轮廓 首先我们面对的问题是如何在图像中找到轮廓,OpenCv(EmguCv)为我们做了很多工作,我们的任务只是调用现成的函数而已。Image类的FindCo
2015-11-06 10:53:24 5131
原创 opencv学习篇(7)基本绘图
如何用 Point 在图像中定义 2D 点如何以及为何使用 Scalar用OpenCV的函数 line 绘 直线用OpenCV的函数 ellipse 绘 椭圆用OpenCV的函数 rectangle 绘 矩形用OpenCV的函数 circle 绘 圆用OpenCV的函数 fillPoly 绘 填充的多边形OpenCV 原理本节中,我门将大量使用 Point 和 Scal
2015-11-04 10:33:34 433
原创 opencv学习篇(6)mask操作
矩阵的掩码操作很简单。其思想是:根据掩码矩阵(也称作核)重新计算图像中每个像素的值。掩码矩阵中的值表示近邻像素值(包括该像素自身的值)对新像素值有多大影响。从数学观点看,我们用自己设置的权值,对像素邻域内的值做了个加权平均。测试用例思考一下图像对比度增强的问题。我们可以对图像的每个像素应用下面的公式:上面那种表达法是公式的形式,而下面那种是以掩码矩阵表示的紧凑形
2015-11-04 10:30:24 1612
原创 opencv学习篇(5)OpenCV如何扫描图像、利用查找表和计时
图像矩阵是如何存储在内存之中的?在我的教程 Mat - 基本图像容器 中,你或许已了解到,图像矩阵的大小取决于我们所用的颜色模型,确切地说,取决于所用通道数。如果是灰度图像,矩阵就会像这样:而对多通道图像来说,矩阵中的列会包含多个子列,其子列个数与通道数相等。例如,RGB颜色模型的矩阵:注意到,子列的通道顺序是反过来的:BGR而不是RGB
2015-11-04 10:24:45 514
原创 opencv学习篇(4)Mat - 基本图像容器
从真实世界中获取数字图像有很多方法,比如数码相机、扫描仪、CT或者磁共振成像。无论哪种方法,我们(人类)看到的是图像,而让数字设备来“看“的时候,则是在记录图像中的每一个点的数值。比如上面的图像,在标出的镜子区域中你见到的只是一个矩阵,该矩阵包含了所有像素点的强度值。如何获取并存储这些像素值由我们的需求而定,最终在计算机世界里所有图像都可以简化为数值矩以及矩阵信息。作为一个计算机视觉库,
2015-11-04 09:52:38 548
原创 opencv学习篇(3)snake轮廓检测
opencv例子里没有提供cvsnakeimage的使用方法,在此整理一个例子,可以形象的看看snake算法的结果,大致做法是:首先设定域值分割,把基本的轮廓找出来,见图中蓝色轮廓线,再将轮廓点传入cvSnakeImage函数,计算出绿色的snake轮廓线。其中参数alpha代表点相互靠拢的权值(0-1.0),beta表示弯曲能量(越小越容易弯曲)(0-1.0),gamma表示整体
2015-11-04 09:45:02 1130
原创 opencv学习篇(2)haar人脸检测
在这节教程中您将学到:使用 CascadeClassifier 类来检测视频流中的物体. 特别地, 我们将使用函数:load 来加载一个 .xml 分类器文件. 它既可以是Haar特征也可以是LBP特征的分类器.detectMultiScale 来进行图像的多尺度检测.#include "opencv2/objdetect
2015-11-04 09:38:25 849
原创 opencv学习篇(1) 图像处理和图像识别中常用的OpenCV函数
今天开始打算整理一下上一阶段所学的内容,感觉学习的阅读的太多,知识点像一团乱麻一样,需要整理一下了。 为了能快速查阅opencv的一些基本函数,先汇总一下,以供日后查阅。 1. cvLoadImage:将图像文件加载至内存;2. cvNamedWindow:在屏幕上创建一个窗口;3. cvDestroyWindow:销毁显示图像文件的窗口;
2015-11-04 09:24:22 1254
转载 Kalman滤波器详解
1.简介(Brief Introduction)在学习卡尔曼滤波器之前,首先看看为什么叫“卡尔曼”。跟其他著名的理论(例如傅立叶变换,泰勒级数等等)一样,卡尔曼也是一个人的名字,而跟他们不同的是,他是个现代人!卡尔曼全名Rudolf Emil Kalman,匈牙利数学家,1930年出生于匈牙利首都布达佩斯。1953,1954年于麻省理工学院分别获得电机工程学士及硕士学位。1
2015-10-14 10:39:00 1163
原创 opencv--学习之感兴趣区域(ROI)
两种获得感兴趣矩形区域的方式一个是直接用函数 cvSetImageROI(IplImage* image, Cvrect rect), 其中image是加载的一幅图像, rect = cvRect(x, y, width, height) ,x,y给出了矩形在原图像中的起点(从左上起),width,height给出了矩形的宽和高。 书中示例给出了将该矩形区
2015-09-25 17:09:34 553
原创 opencv-- 使用鼠标绘制矩形并截取和保存矩形区域图像
鼠标操作属于用户接口设计,以前一直使用Qt来做,但是如果只需要简单的鼠标,键盘操作,直接调用opencv库的函数也未尝不可,鼠标操作之前已经接触很多了,在MFC,QT,OpenGL,等等中,理论主要就是两点,一是监控鼠标操作,鼠标点击,移动,松开,然后通过mouse_event识别判断出那一种鼠标的操作,根据不同的操作然后进行处理,二是在主函数中加入鼠标的回调函数,将鼠标操作与程序的窗口绑定。
2015-09-25 17:07:42 1492
原创 opencv-mat
最近开始搭建好了OpenCV2的环境,准备学习一下OpenCV2的一些新知识,之前有学习旧的版本,主要用于arm板的开发,毕竟是C语言写的,但是之后想做一下界面的东西,发觉OpenCV2和QT比较搭,而且OpenCV在发展,我们也不能落后,要跟上,所以就开始着手学习一下新版本的知识。毕竟OpenCV正规的参考资料很少,要学好OpenCV只能查查文档,看看范例,慢慢积累。于是先从OpenCV提供的t
2015-09-16 20:00:19 392
原创 opencv-基本绘图函数
基本绘图相对来说也是非常简单的,只是几个函数的调用而已,在这里OpenCV教程中已经讲得非常详细了,我这里只是贴出代码,运行结果,函数参数解析和函数功能。1、绘图用OpenCV的函数 line 绘 直线用OpenCV的函数 ellipse 绘 椭圆用OpenCV的函数 rectangle 绘 矩形用OpenCV的函数 circle 绘 圆用OpenCV的函数 f
2015-09-16 19:56:04 650
原创 opencv-harris和shi-tomasi角点检测
角点特征检测与匹配是Computer Vision 应用总重要的一部分,这需要寻找图像之间的特征建立对应关系。点,也就是图像中的特殊位置,是很常用的一类特征,点的局部特征也可以叫做“关键特征点”(keypoint feature),或“兴趣点”(interest point),或“角点”(conrner)。关于角点的具体描述可以有几种:一阶导数(即灰度的梯度)的局部最大所对
2015-09-16 18:24:09 778
原创 opencv-特征匹配及其优化
在OpenCV2简单的特征匹配中对使用OpenCV2进行特征匹配的步骤做了一个简单的介绍,其匹配出的结果是非常粗糙的,在这篇文章中对使用OpenCV2进行匹配的细化做一个简单的总结。主要包括以下几个内容:DescriptorMatcherDMatcherKNN匹配计算两视图的基础矩阵F,并细化匹配结果计算两视图的单应矩阵H,并细化匹配结果DescriptorMatcher 和 DMat
2015-09-16 10:37:36 1466
原创 OpenCV中特征点提取和匹配的通用方法
OpenCV在新版本中把很多C语言的代码都重新整理成了C++代码,让我们在使用的时候更加方便灵活。其中对于特征点的提取和匹配,充分体现了C++的强大。下面直接用例子来说明。假设我们有两幅图:1.bmp和2.bmp,要从中提取体征点并匹配,代码如下: // Load image from fileIplImage *pLeftImage = cvLoadImage("1.bm
2015-09-16 10:35:49 379
原创 学习matlab 1
一、Matlab中为图片加噪声的语句是(1)J = imnoise(I,type);(2)J = imnoise(I,type,parameters);其中I为原图象的灰度矩阵,J为加噪声后图象的灰度矩阵;一般情况下用(1)中表示即可,(2)中表示是允许修改参数,而(1)中使用缺省参数;至于type可有五种,分别为'gaussian'(高斯白噪声),'localvar'(与图象灰度值
2015-09-09 20:32:29 494
车流量检测算法
2015-09-15
PCA人脸识别理论及基础(附源码)
2015-09-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人