opencv
文章平均质量分 87
liangchunjiang
热爱技术,opencv,linux,java,c/c++,
展开
-
OpenCL环境配置及测试
由于计算性能的要求,特别需要使用并行计算,这里对TBB和OpenCL都进行了一些测试。测试了TBB和OpenCL之后,我的感觉是如果真的要做高性能的异构计算,那还是选择CUDA吧,并且应该选用专用计算的GPU。首先先把自己简单的描述写在前面:1.TBB(Thread Building Blocks)线程构建模块,是Intel公司开发的并行编程开发工具,我在vs2015上测试了TBB的效果,测试平台...原创 2018-05-14 15:39:54 · 6886 阅读 · 1 评论 -
Clustering of Static-Adaptive Correspondences for Deformable Object Tracking
测试简述:实际上我测试的时候,有时觉得实时性不好,打开调试开关的时候,显示特征点数量达到3000+,不知道有没有优化的版本,单纯说目标跟踪的性能真的是很好,测试过CT、KCF、LTD,很多人都觉得kcf的性能很惊人,实际上我测试觉得可能kcf最大的特点是实时性,毕竟帧率很高,单纯说目标跟踪的准确性,以我测试的几个视频,可能不太满意。测试的视频motocross.mpg和vtest.avi(open...原创 2018-04-20 17:43:09 · 408 阅读 · 0 评论 -
OpenCV源码分析(三):KalmanFilter
/*! Kalman filter. The class implements standard Kalman filter \url{http://en.wikipedia.org/wiki/Kalman_filter}. However, you can modify KalmanFilter::transitionMatrix, KalmanFilter::controlMatrix...原创 2018-04-12 14:57:27 · 1305 阅读 · 0 评论 -
Real-Time Compressive Tracking
Real-Time Compressive Tracking, Kaihua Zhang, LeiZhang,and Ming-Hsuan Yang这篇论文由香港理工大学张开华发表在2012年的ECCV之上,论文附有数据对比及代码。论文主页及源码下载:http://www4.comp.polyu.edu.hk/~cslzhang/CT/CT.htm跟踪效果:http://v.youku.com/v...转载 2018-04-18 09:13:49 · 888 阅读 · 0 评论 -
TLD(Tracking-Learning-Detection)
Zdenek Kalal 基于其开发的TLD技术,建立了TLD Vision公司。网站 http://www.tldvision.com。 TLD Vision是一家研究性公司,致力于在视频中进行运动目标的跟踪。这个跟踪目标的能力是基于对视频数据的理解。潜在的应用场景是用户相机目标的稳定性, 到无人机的目标跟踪。 ---------------------------------...转载 2018-04-17 13:30:30 · 699 阅读 · 0 评论 -
OpenTLD在VS2012和opencv246编译通过
最近看到了TLD的跟踪视频,觉得很有意思,刚好最近在看行人检测所以就打算下载源码玩一玩,因为源码是Linux版本的(原作者写的是C++和MATLAB的混合编程)C++源码可以在我的博客TLD(一种目标跟踪算法中)下载到。在编译过程中遇到一些问题,在网上找了些资料后顺利解决了。下载源码,然后解压,新建VS工程,配置好opencv,把C++源码下的src,include文件夹下的代码cope到新建工程...转载 2018-04-17 13:13:30 · 171 阅读 · 0 评论 -
Condensation Algtithum
参考:https://blog.csdn.net/GDFSG/article/details/50794528http://answers.opencv.org/question/6985/syntax-for-particle-filter-in-opencv-243/http://wiki.opencv.org.cn/index.php/Cv运动分析与对象跟踪http://homepages....原创 2018-04-11 17:00:02 · 229 阅读 · 0 评论 -
OpenCV图像旋转
几何变换几何变换可以看成图像中物体(或像素)空间位置改变,或者说是像素的移动。几何运算需要空间变换和灰度级差值两个步骤的算法,像素通过变换映射到新的坐标位置,新的位置可能是在几个像素之间,即不一定为整数坐标。这时就需要灰度级差值将映射的新坐标匹配到输出像素之间。最简单的插值方法是最近邻插值,就是令输出像素的灰度值等于映射最近的位置像素,该方法可能会产生锯齿。这种方法也叫零阶插值,相应比较复杂的还有...转载 2018-06-12 11:08:42 · 10773 阅读 · 0 评论 -
Edge Based Template Matching
ref: https://www.codeproject.com/articles/99457/edge-based-template-matchingEdge Based Template MatchingShiju PK, 5 Aug 2010 4.63 (50 votes)Rate:vote 1vote 2vote 3vote 4vote 5 Implementing an edge b...转载 2018-06-13 11:43:34 · 1106 阅读 · 0 评论 -
关于opencv打开摄像头成灰色问题的原因
问题描述:capture可以打开,但是无法抓取frame。原因:查找资料看到,可能是因为驱动的原因导致。windows 下的摄像头的都用了Directshow,而opencv 的这两个函数都需要使用VFW的驱动才能正常使用。解决方法:使用videocapture或DS------------------------------------------------------...转载 2018-10-19 15:01:22 · 4444 阅读 · 0 评论 -
图像细化 A fast parallel algorithm for thinning digital patterns
我这是测试了两个人的代码,似乎有些区别的,第二篇作者贴出来的代码还存在一些bug,我简单修改了一下,实现的效果上似乎是有一下差别,后续看看论文再做评价。两个方法也都能满足一定的需求。参考blog:https://blog.csdn.net/qianchenglenger/article/details/19332011 https://blog.csdn.net/qq8263090...转载 2018-08-06 10:50:18 · 2026 阅读 · 2 评论 -
工业现场相机坐标系和机械手坐标系的标定
原文:https://blog.csdn.net/kaychangeek/article/details/73878994参考:https://blog.csdn.net/qq_16481211/article/details/79764730工业现场使用视觉时一般需要相机坐标系和机械手臂坐标系的转化,这里介绍一种比较简单的标定方案。没有使用到标定板。经过几个项目的测试,精度还算可以,如果...转载 2018-07-13 14:39:10 · 28355 阅读 · 6 评论 -
全景视频拼接算法参考资料
知乎回答《目前最成熟的全景视频拼接技术是怎样的?》https://www.zhihu.com/question/34573969/answer/122797987知乎回答《图像拼接现在还有研究的价值吗?有哪些可以研究的点?现在技术发展如何?》https://www.zhihu.com/question/34535199/answer/135169187...原创 2018-06-19 16:30:14 · 5783 阅读 · 0 评论 -
TRAIN YOUR OWN OPENCV HAAR CLASSIFIER
参看:https://coding-robin.de/2013/07/22/train-your-own-opencv-haar-classifier.htmlhttps://github.com/duburlan/dd_haartraining——————————————————————————————————————————————Open this page, allow it to acc...转载 2018-06-09 16:47:30 · 321 阅读 · 0 评论 -
MultiBlend
ref:http://horman.net/multiblend/multiblendCurrent version (x86 and x64 versions included, Windows only):multiblend0.6.2.zip(470k)Source for Linux/Mac/FreeBSD etc:multiblend0.6.2.tar.gz(24k)Latest cha...转载 2018-06-15 16:59:12 · 384 阅读 · 0 评论 -
OpenPano: How to write a Panorama Stitcher
OpenPano: How to write a Panorama StitcherThis is a summary of the algorithms I used to write OpenPano: an open source panorama stitcher. You can find the source code on github.SIFT FeatureLowe's SIFT...转载 2018-06-15 10:59:39 · 1557 阅读 · 0 评论 -
AutoStitch: a new dimension in automatic image stitching
ref: http://matthewalunbrown.com/autostitch/autostitch.htmlWindows | Mac OSX | Licensing | FAQ | PublicationsAutoStitch: a new dimension in automatic image stitching What if your camera could see ever...转载 2018-06-15 10:39:42 · 1888 阅读 · 1 评论 -
DenseOpticalFlow(),createOptFlow_DualTVL1稠密光流
(1)DenseOpticalFlow示例代码#include <iostream>#include <fstream>#include "opencv2/video/tracking.hpp"#include "opencv2/highgui/highgui.hpp"using namespace cv;using namespace std;inlin...原创 2018-04-11 15:51:58 · 3824 阅读 · 0 评论 -
运动跟踪(七):BackgroundSubtractorMOG2(),背景差
class CV_EXPORTS_W BackgroundSubtractorMOG2 : public BackgroundSubtractor{public: //! the default constructor CV_WRAP BackgroundSubtractorMOG2(); //! the full constructor that takes the ...原创 2018-04-11 15:35:37 · 2457 阅读 · 2 评论 -
运动跟踪(六):BackgroundSubtractorMOG(),背景差
class CV_EXPORTS_W BackgroundSubtractorMOG : public BackgroundSubtractor{public: //! the default constructor CV_WRAP BackgroundSubtractorMOG(); //! the full constructor that takes the le...原创 2018-04-11 15:31:14 · 3936 阅读 · 1 评论 -
图像拉普拉斯金字塔融合(Laplacian Pyramid Blending)
原文:http://blog.csdn.net/abcjennifer/article/details/7628655本文将介绍图像金字塔以及拉普拉斯融合的相关知识。图像金字塔================================================一般的的线性变换通过将一幅图像乘以transform函数分成不同的compo转载 2018-02-01 11:15:52 · 2479 阅读 · 0 评论 -
Qt5.10 + OpenCV + Ubuntu环境配置
opencv各个版本下载链接:https://sourceforge.net/projects/opencvlibrary/files/opencv-win/长时间使用Linux系统之后,觉得在系统下做开发更舒服,这里想搭建Opencv+QT的开发环境,做一些UI的项目。1. opencv 的安装配置 opencv的配置可以参考我之前的文章,这里也就不在做过多的说明。https...原创 2018-01-15 18:18:11 · 1060 阅读 · 0 评论 -
【OpenCV】双目测距(双目标定、双目校正和立体匹配)
转载双目测距的blog.原文:http://blog.csdn.net/wangchao7281/article/details/52506691?locationNum=7本文采用MATLAB标定工具箱和OpenCV3.10来实现双目测距,设备为两个CMOS工业相机和相应的双目云台。 首先感谢CSDN上两位大神前辈邹宇华和scyscyao,虽然是六年前的博客,OpenCV也从转载 2018-01-12 09:17:04 · 4492 阅读 · 2 评论 -
RGB "Bayer" Color and MicroLenses, convertion between RGB and YUV
找到原文是很有意义的,这里转载RGB,BAYER,YUV间转码的公式,让你能找到正宗。原文链接:点击打开链接RGB "Bayer" Color and MicroLensesBayer color filter array is a popular format for digital acquisition of color images [1]. The pattern o转载 2017-12-14 16:59:11 · 399 阅读 · 0 评论 -
详解YUV数据格式
关于YUV数据格式解释很清晰的一片blog,转载在这里方便查阅和后面有需要的朋友们,如有不妥,请联系本人,谢谢!YUV格式有两大类:planar和packed。对于planar的YUV格式,先连续存储所有像素点的Y,紧接着存储所有像素点的U,随后是所有像素点的V。对于packed的YUV格式,每个像素点的Y,U,V是连续交*存储的。YUV 4:4:4采样,每一个转载 2017-12-05 16:08:31 · 203 阅读 · 0 评论 -
Ubuntu配置OpenCV 2.4.9
关于OpenCV的配置,我们可能操作了很多次,然而每次重新配置的时候,又会犯难了,这里记录LINUX系统下配置OpenCV2.4.9的步骤,以方便查找。所有的配置步骤,参考官方的opencv tutorials文档1.安装依赖的包官方原文:执行的安装命令:sudo apt-get install build-essentialsudo apt-get install原创 2017-11-15 10:28:46 · 697 阅读 · 0 评论 -
最佳缝合线拼接算法
最佳缝合线算法有助于消除鬼影,以得到较好的视觉效果,这里转载该博主的文章,方便自己查阅学习,若有不妥,请联系本人。原文:http://blog.csdn.net/wd1603926823/article/details/49536691理论根据《图像拼接的改进算法》,据说这个算法可以消除重叠部分运动物体的重影和鬼影问题,所以就编下试试看,反正之前编的那种很老的取平均值法融合、渐入渐转载 2017-10-09 15:27:21 · 8406 阅读 · 2 评论 -
柱面投影
做全景拼接时需要将图像统一到一个视角里,常用的柱面投影,其基本原理及公式如下(原文)。【Octave】柱面投影简析========================我是分割线==========================在做全景拼接的时候,为了保持图片中的空间约束与视觉的一致性,需要做一定的预处理,可以是球面投影,柱面投影等。如果仅仅是做水平方向转载 2017-10-09 15:12:30 · 4475 阅读 · 0 评论 -
连通域分割算法
OpenCV_连通区域分析(Connected Component Analysis/Labeling)【摘要】本文主要介绍在CVPR和图像处理领域中较为常用的一种图像区域(Blob)提取的方法——连通性分析法(连通区域标记法)。文中介绍了两种常见的连通性分析的算法:1)Two-pass;2)Seed-Filling种子填充,并给出了两个算法的基于OpenCV的C++实现代码。一、连通区域分析连通...转载 2018-03-03 16:47:51 · 19401 阅读 · 4 评论 -
OpenCV之光流法运动目标跟踪
[光流Optical Flow]的概念是Gibson在1950年首先提出来的。它是空间运动物体在观察成像平面上的像素运动的瞬时速度,是利用图像序列中像素在时间域上的变化以及相邻帧之间的相关性来找到上一帧跟当前帧之间存在的对应关系,从而计算出相邻帧之间物体的运动信息的一种方法。一般而言,光流是由于场景中前景目标本身的移动、相机的运动,或者两者的共同运动所产生的。当人的眼睛观察运动物体时,物体的景象在...转载 2018-04-08 10:45:25 · 6740 阅读 · 0 评论 -
运动跟踪(五):Kalman滤波
class CV_EXPORTS_W KalmanFilter{public: //! the default constructor CV_WRAP KalmanFilter(); //! the full constructor taking the dimensionality of the state, of the measurement and of the...原创 2018-04-11 15:25:35 · 2201 阅读 · 2 评论 -
运动跟踪(三):CamShift(),对象跟踪
opencv2中的函数CamShift,内部调用的是cvCamShift,cvCamShift的内部又使用了cvMeanShift。cv::RotatedRect cv::CamShift( InputArray _probImage, Rect& window, TermCriteria criteria ){ CvC...原创 2018-04-11 15:19:21 · 798 阅读 · 0 评论 -
运动跟踪(二):segmentMotion,运动模板
http://wiki.opencv.org.cn/index.php/Cv运动分析与对象跟踪http://wiki.opencv.org.cn/index.php/增强现实%28AR%29opencv2中的segmentMotion内部调用的还是cvSegmentMotion这个函数。void cv::segmentMotion(InputArray _mhi, OutputArray _seg...原创 2018-04-11 15:02:55 · 1076 阅读 · 0 评论 -
运动跟踪(一):calcOpticalFlowFarneback(),稠密光流法
关于金字塔LK光流的Demo已经在上一篇的blog中说明了,地址:https://blog.csdn.net/liangchunjiang/article/details/79869830测试OpenCV的函数calcOpticalFlowFarneback()的效果void cv::calcOpticalFlowFarneback( InputArray _prev0, InputArray _...原创 2018-04-11 14:53:59 · 4523 阅读 · 0 评论 -
OpenCV源码分析(二):meanShift
int cv::meanShift( InputArray _probImage, Rect& window, TermCriteria criteria ){ CvConnectedComp comp; Mat probImage = _probImage.getMat(); CvMat c_probImage = probImage; int iter...原创 2018-04-10 17:07:09 · 1170 阅读 · 0 评论 -
运动跟踪(四):calcOpticalFlowPyrLK (),基于角点特征的金字塔LK光流跟踪算法
C++接口:void calcOpticallFlowPyrLK (InuputArray prevImg, InputArray nextImg, InputArray prevPts, InputOutputArraynextPts, OutputArray status, OutputArray err, Size winSize = Size(21,21), int maxLevel ...原创 2018-04-09 17:33:48 · 9102 阅读 · 0 评论 -
OpenCV 2.4.9源码分析(一):detectMultiScale
OpenCV使用级联分类器做人脸识别的时候,调用了void CascadeClassifier::detectMultiScale方法,采用的滑窗机制,这里列出该函数的源码实现过程。代码读起来不复杂,但是很有趣^_^。void CascadeClassifier::detectMultiScale( const Mat& image, vector<Rect>& obj...原创 2018-04-09 15:13:59 · 1460 阅读 · 0 评论 -
groupRectangles 源码分析
分析的OpenCV版本是:OpenCV 2.4.9当使用void CascadeClassifier::detectMultiScale做人脸识别的时候,根据滑窗机制会产生很多的候选框,候选框间会相互交叠,相互包含等,读了opencv的源码之后,发现最后合并候选框的函数是groupRectangles,最后贴出源码,进行简单的分析。void CascadeClassifier::detectMul...原创 2018-04-08 18:05:00 · 657 阅读 · 0 评论 -
OpenCV VideoCapture类使用
opencv中通过VideoCaptrue类对视频进行读取操作以及调用摄像头,下面是该类的API。1.VideoCapture类的构造函数:C++: VideoCapture::VideoCapture()C++: VideoCapture::VideoCapture(const string& filename)参数:filename – 打开的视频文件名。C++:转载 2017-09-26 10:31:42 · 1792 阅读 · 0 评论