图像处理
MagnumLu
一只喜欢安安静静写代码的程序猿~
展开
-
OTB50、OTB2013、OTB100、OTB2015的区别
OTB50OTB50就是Visual Tracker Benchmark网站的前50个视频序列,其中Skating因标注对象不同,可以看作两个视频序列,所以你看到的是7×7一共49个sequences。OTB50视频序列名称:Ironman Matrix MotorRolling Soccer Skiing Freeman4 Freeman1 Skating1 Tiger2 ...原创 2019-12-18 19:14:39 · 7938 阅读 · 2 评论 -
OTB2013跑的结果展示
这里只展示OPE总的结果,不分Attributes展示结果。原代码默认的是不生成AUC情况下的errorPlot图,我这里修改了之后可以生成AUC情况下的error测试结果。设定以下的变量参数:evalTypeSet设定为OPE,rankingType设定为AUC或者threshold(这里的threshold源代码中少了一个字母l,不要直接复制粘贴),,,然后默认是只展示效果最好的1...原创 2019-12-18 16:35:28 · 740 阅读 · 0 评论 -
OTB2013平台跑OTB2015的results遇到的问题
OTB2013平台的代码以及2013/2015的数据结果results可以在Visual Tracker Benchmark下载。说明:我目前所做的工作是用OTB2013平台跑完2013的results后想再跑一下2015的results,看得到的图跟跑2013的results一不一样,当然,跑2015results的tracker和sequences跟2013是一样的(也就是OTB20...原创 2019-12-18 16:35:39 · 1175 阅读 · 2 评论 -
OpenCV3 选取图片中一个目标框内的角点-goodFeaturesToTrack-cornerSubPix
/* 主程序功能: 输入一张图片,手动选择一个矩形目标框,按空格后: 显示该图片中目标框内的角点 */#include <opencv2/core/core.hpp>#include <opencv2/highgui/highgui.hpp>#include "opencv2/video/tracking.hpp"#include <...原创 2019-12-04 20:57:45 · 276 阅读 · 0 评论 -
MedianFlow中值流跟踪算法&源码
一、MedianFlow算法简介该算法属于TLD跟踪算法中的Tracking部分。TLD算法可参考:Tracking-Learning-Detection原理分析。它基于LK光流跟踪算法,并使用FB(正向/反向评估点追踪质量的一种方法)、NCC交叉验证进行反馈。二、正反向连续性(forward-backward consistency)作者假设一个“好”的追踪算法应该具有正反向连续性...原创 2019-12-03 21:20:41 · 3428 阅读 · 1 评论 -
MedianFlow代码 & 程序示例
TLD开源代码MedianFlow部分,改造成一个运行程序示例,包含测试主程序及测试视频序列。运行环境:vs2008 + opencv2.4.2代码及测试视频序列下载地址:https://download.csdn.net/download/qq_28584889/12012477//头文件包含: MFSystemStruct.h MedianFlow.h Op...原创 2019-12-03 21:19:31 · 1950 阅读 · 0 评论 -
OpenCV3:金字塔Lucas-Kanade光流算法之函数接口calcOpticalFlowPyrLK的使用
Lucas-Kanade光流算法的原理具体可以参考这篇博客:Lucas–Kanade(LK)光流算法详解OpenCV1.0接口参考:OpenCV:金字塔Lucas-Kanade光流算法之函数接口cvCalcOpticalFlowPyrLK的使用函数原型:void calcOpticallFlowPyrLK ( InuputArray prevImg, InputAr...原创 2019-12-02 22:15:46 · 2069 阅读 · 0 评论 -
OpenCV3 亚像素角点检测:cornerSubPix()
前言:cv::goodFeaturesToTrack()提取到的角点只能达到像素级别【OpenCV3 角点检测:goodFeaturesToTrack()】,在很多情况下并不能满足实际的需求,这时,我们则需要使用cv::cornerSubPix()对检测到的角点作进一步的优化计算,可使角点的精度达到亚像素级别。函数原型: void cv::cornerSubPix( cv::In...原创 2019-12-02 20:58:53 · 8166 阅读 · 1 评论 -
OpenCV3 角点检测:goodFeaturesToTrack()
函数原型: void cv::goodFeaturesToTrack( cv::InputArray image, // 输入图像(CV_8UC1 CV_32FC1) cv::OutputArray corners, // 输出角点vector int maxCorners, // 最大角点数目 double qualityLevel, // 质量水平系数(小于1.0的正数,...原创 2019-12-02 20:34:10 · 1853 阅读 · 0 评论 -
OpenCV:Rect矩形类的用法
Rect类常用方法://如果创建一个Rect对象rect(100, 50, 50, 100),那么rect会有以下几个功能:rect.area(); //返回rect的面积 5000rect.size(); //返回rect的尺寸 [50 × 100]rect.tl(); //返回rect的左上顶点的坐标 [100, 50]rect.br(); ...原创 2019-11-27 17:32:55 · 390 阅读 · 0 评论 -
OpenCV:金字塔Lucas-Kanade光流算法之函数接口cvCalcOpticalFlowPyrLK的使用
Lucas-Kanade光流算法的原理具体可以参考这篇博客:Lucas–Kanade(LK)光流算法详解函数原型void cvCalcOpticalFlowPyrLK( const CvArr* prev, const CvArr* curr, CvArr* prev_pyr, CvArr* curr_pyr, const CvP...原创 2019-11-26 21:17:22 · 1753 阅读 · 2 评论 -
Lucas–Kanade(LK)光流算法详解
Lucas–Kanade(LK)光流算法是一种两帧差分的光流估计算法。它由Bruce D. Lucas 和 Takeo Kanade于1981年提出。由于算法易于应用在输入图像中的一组点上,后来成为求稀疏光流的一种重要方法。Lucas–Kanade(LK)光流算法在《learning opencv》一书中的第10章光流部分写的非常详细,以下为搬运内容。 ...原创 2019-11-26 17:37:03 · 6870 阅读 · 1 评论 -
openCV Mat 赋值运算符/拷贝构造函数 VS clone()/copyTo()
导语:在使用Mat复制为另一个tmp暂存对象时,当原对象改变后,tmp对象也随之改变;如果想要tmp暂存对象只保存复制前的原对象信息,可以使用clone()/copyTo()来生成暂存对象,而不能使用赋值运算符/拷贝构造函数。Mat src = Mat::zeros(5, 5, CV_32FC1);//原对象:像素全为0Mat tmp1(src);Mat tmp2 = src;M...原创 2019-11-18 20:54:56 · 919 阅读 · 0 评论 -
openCV3 IplImage*与Mat相互转换
一、IplImage* ——> Mat IplImage* ipl = cvLoadImage("xxx.jpg", 0); 第一种:Mat m1(ipl);//使用拷贝构造函数 第二种:Mat m2 = ipl; 第三种:Mat m3 = cv::cvarrToMat(ipl);二、Mat ——> IplImage* Mat m; ...原创 2019-11-13 19:54:13 · 1305 阅读 · 0 评论 -
OpenCV 图像通道的数据类型
数据类型的形式:CV_<bit_depth>(S|U|F)C<number_of_channels>【参数释义】bit_depth:比特数---代表图像像素的位数,即像素深度,比如8bite,16bites,32bites,64bites...--------------------------------------------------------...原创 2019-11-07 17:26:49 · 1227 阅读 · 0 评论 -
opencv Mat 类型数据的访问:at<type>(i,j)访问像素值
单通道(灰度图):int ROWS = 100; // heightint COLS = 200; // widthMat img1(ROWS , COLS , CV_32FC1); for (int i=0; i<ROWS ; i++) { for (int j=0; j<COLS ; j++) { img1.at&...原创 2019-11-07 17:06:32 · 3219 阅读 · 1 评论 -
OpenCV 图像读取imread和写入imwrite
一、读取imread函数 imread 的原型如下:Mat imread(const String& filename,int flags = IMREAD_COLOR)filename 指定读取的图像文件flag 指定读取图像的颜色,并在 imgcodecs.hpp 头文件中由如下枚举类型定义和解释:enum { IMREAD_UNCHANGED = -1, //...原创 2019-11-07 13:41:42 · 1122 阅读 · 0 评论 -
Opencv copyTo() 与clone()的区别
copyTo 也是深拷贝,但是否申请新的内存空间,取决于dst矩阵头中的大小信息是否与src一至,若一致则只深拷贝并不申请新的空间,否则先申请空间后再进行拷贝。clone 是完全的深拷贝,在内存中申请新的空间用法:Mat A= Mat::ones(4,5,CV_32F);Mat B = A.clone()//clone 是完全的深拷贝,在内存中申请新的空间,与A独立...原创 2019-11-06 10:04:09 · 2299 阅读 · 0 评论 -
opencv resize 调整图像大小
函数原型void resize( InputArray src, OutputArray dst, Size dsize, double fx=0, double fy=0, int interpolation=INTER_LINEAR)函数功能:调整图像大小参数说明:src - 原图dst - 目标图像。当参数d...原创 2019-10-17 09:54:42 · 1472 阅读 · 0 评论 -
VS2010+opencv2.4.2+cmake 配置教程
1 前言 现在都9102年了,平时用的opencv版本都是2.4.9,配置过的最低版本也就是2.4.3了。最近在看一篇2012年的目标追踪的文章,里面提供的源代码的运行环境是vs2010+opencv2.4.2,为了跑起来文章中的源代码,于是开始配置opencv2.4.2,但是发现找到的opencv2.4.2不是编译过的exe安装包,所以需要自己根据源代码进行编译才能开始配置使用!...原创 2019-02-25 13:40:03 · 1971 阅读 · 0 评论 -
VS2012配置OpenCV2.4.3
环境:VS2012 + OpenCV2.4.3一、下载和安装OpenCV SDKVS2012不说了,OpenCV2.4.3官网可能不好找了,可以在下面网盘地址下载https://pan.baidu.com/s/1C4AtwvMYS75-SNX1-BQAzA下载压缩包之后解压得到,双击后会提示解压到某个地方,推荐放到D:\Program Files\下,比如D:\Program File...原创 2019-02-21 23:21:48 · 1108 阅读 · 2 评论