机器视觉
放牛娃不吃草
这个作者很懒,什么都没留下…
展开
-
写的比较清晰的一篇非深度学习融合的传统SLAM主流方案对比ORB LSD SVO DSO
前言单目视觉SLAM可以根据其前端视觉里程计或是后端优化的具体实现算法进行分类:前端可以分为特征点法与直接法,后端可以分为基于滤波器和基于非线性优化。其中在后端上目前已经公认基于非线性优化的方法在同等计算量的情况下,比滤波器能取得更好的结果。而前端的两种方法则各有优劣。本文将具体分析直接法相较于特征点法的优劣处,并具体介绍目前主流的开源方案,以供大家参考。直接法与特征点法的对比“...转载 2019-03-06 08:57:47 · 2660 阅读 · 0 评论 -
ORB_slam追踪和建图tracking/localmapping
最近在读ORB-SLAM的代码,虽然代码注释算比较多了,但各种类和变量互相引用,看起来有点痛苦。索性总结了一下Tracking部分的代码结构,希望能抓住主要思路,不掉坑里。追踪追踪部分的主要思路是在当前帧和(局部)地图之间寻找尽可能多的对应关系,来优化当前帧的位姿。作者在追踪这部分主要用了几种模型:运动模型(Tracking with motion model)、关键帧(Trackin转载 2017-02-08 17:33:53 · 3120 阅读 · 0 评论 -
slam数据集
SLAM benchmarking. http://kaspar.informatik.uni-freiburg.de/~slamEvaluation/datasets.phpKITTI SLAM dataset. http://www.cvlibs.net/datasets/kitti/eval_odometry.php. 包括 单目视觉 ,双目视觉, velodyne, POS 轨迹O转载 2017-02-08 14:34:41 · 3956 阅读 · 0 评论 -
用orb-slam2跑RGB-D Example中的TUM Dataset
链接在此:https://github.com/raulmur/ORB_SLAM21.按照要求下载数据集,我下载的是rgbd_dataset_freiburg2_pioneer_360,将其解压到你喜欢的目录.我个人放在了orbslam2工程目录下面了.2.下载 associate.py.放在/ORB_SLAM2/Examples/RGB-D/目录下面.3.打开终端,进入到associ转载 2017-02-08 14:08:19 · 3886 阅读 · 2 评论 -
图像卷积与滤波的一些知识点
图像卷积与滤波的一些知识点zouxy09@qq.comhttp://blog.csdn.net/zouxy09 之前在学习CNN的时候,有对卷积进行一些学习和整理,后来就烂尾了,现在稍微整理下,先放上来,以提醒和交流。一、线性滤波与卷积的基本概念 线性滤波可以说是图像处理最基本的方法,它可以允许我们对图像进行处理,产生很多不同的转载 2017-01-16 15:16:35 · 446 阅读 · 0 评论 -
ORB_SLAM2安装与运行
1. 安装C++11编译器 ORB_SLAM2使用了C++11的线程和时间控制函数。[javascript] view plain copy $sudo apt-get install gcc g++ 2.安装Pangolin ORB_SLAM2使用 Pangolin 构建可视化转载 2016-11-24 18:04:41 · 2178 阅读 · 0 评论 -
检测图像失焦、偏色、亮度异常
要求通过算法检测监控设备是否存在失焦、偏色、亮度异常等问题。问题本身不难,在网上查看了一些资料,自己也做了一些思考,方法如下: 1.失焦检测。 失焦的主要表现就是画面模糊,衡量画面模糊的主要方法就是梯度的统计特征,通常梯度值越高,画面的边缘信息越丰富,图像越清晰。需要注意的是梯度信息与每一个视频本身的特点有关系,如果画面中本身的纹理就很少,即使不转载 2016-10-02 15:49:53 · 5432 阅读 · 1 评论 -
Matlab DIP(瓦)ch9形态学图像处理
Matlab DIP(瓦)ch9形态学图像处理 本章的练习主要是形态学的一些基本概念和技术,这些构成了一组提取图像特征的有力工具,针对二值图像和灰度图像的腐蚀、膨胀和重构的基本操作可以组合使用,以执行非常宽泛的任务。其练习代码和结果如下: 1 %% 第9章 形态学处理 2 3 %% imdilate膨胀 4 clc 5 clear 6转载 2016-09-30 11:17:55 · 1338 阅读 · 0 评论 -
opencv显示yuv420,YV12视频文件
#include #include #include #include #include #include #include #include "generalImgFun.hpp"#include using namespace std; using namespace cv; void WriteYuv() { cv::VideoCapture vc;原创 2016-10-10 17:12:08 · 9656 阅读 · 1 评论 -
[总结]视频质量评价技术零基础学习方法
前段时间略忙,因此一直计划要总结的很多东西都没来得及写,这两天趁着空闲时间写上一篇。以后等时间充裕了再补充一些内容。本文总结一下学习视频质量评价技术的方法。视频质量评价是我研究生阶段主要的工作,包括发表的论文,毕业设计,进行的实验等等。在这一方面在国内做的研究并不是很多,因此我打算总结一下学习的经验,方便看过本文的人了解视频质量评价技术。0.背景首先应该了解一下质量评价都是干什么用转载 2016-10-09 16:20:27 · 1101 阅读 · 0 评论 -
编译安装及运行单目ORBSLAM2在Ubuntu14.04
版权声明:本文为博主原创文章,未经博主允许不得转载。前言ORBSLAM2是一个非常适合SLAM入门学习的开源工程。它支持单目、双目、RGB-D使用,可以计算摄像机的轨迹,并且重建稀疏的3D地图。官网有源代码和配置教程,地址是https://github.com/raulmur/ORB_SLAM2 1 安装必要工具首先,有两个工具是需要提前安装的。即cmake和G转载 2017-02-09 11:28:18 · 3876 阅读 · 5 评论 -
RGB转XYZ色彩空间开发及matlab实验笔记整理
在PhotoShop中经常使用有RGB(红色、绿色、蓝色)、CMYK(青色、洋红、黄 色、黑色)、HSB(色相、饱和度、亮度)和Lab4中色彩空间。本文将介绍其具体的算法,并通过VC编程实现,本系列程序均在Win7+VS2008测试通过,并且和PS3的结果一致。由于公式比较繁琐,代码比较复杂,所以关于VC编程实现色彩空间的转换将分成多篇文章介绍。RGB色彩空间与LAB色彩空间之间的转换通常需要原创 2017-03-06 14:39:59 · 16375 阅读 · 1 评论 -
【OpenCV】 RGB和CIEXYZ颜色空间的转换及相关优化。
在颜色感知的研究中,CIE 1931 XYZ 色彩空间(也叫做 CIE 1931 色彩空间)是其中一个最先采用数学方式来定义的色彩空间,它由国际照明委员会(CIE)于1931年创立。CIE XYZ 色彩空间是从 1920 年代后期 W. David Wright (Wright 1928) 和 John Guild (Guild 1931) 做的一系列实验中得出的。他们的实验结果合并到了 CIE转载 2017-03-06 15:22:50 · 2282 阅读 · 0 评论 -
ORB_SLAM2 源码阅读 ORB_SLAM2::ORBextractor
ORB_SLAM2 源码阅读 ORB_SLAM2::ORBextractor整体架构构造函数进行初始化,传入设定几个重要的成员变量。nfeatures(特征点的个数)、nlevels(构造金字塔的层数)、scaleFactor(金字塔中相邻层图像的比例系数)、iniThFAST(检测 FAST 角点的阈值)、minThFAST(在 iniThFAST 没有检测到角点的前转载 2017-09-08 16:42:12 · 2332 阅读 · 1 评论 -
ubuntu 14.04 64位 安装Opencv3.1.0 (包含opencv_contrib模块)
写在前边:据官方说法,目前还不是太稳定的算法模块都在opencv_contrib里边,由于不稳定,所以不能在release版本里发行,只有在稳定以后才会放进release里边。但是这里边有很多我们经常要用的算法,比如SIFT,SURF等(在xfeatures2d 模块里边)。官网提供了说明,可以把opencv_contrib扩展模块添加编译到已安装的opencv3.0.0里边,也可以安转载 2017-04-26 18:43:32 · 961 阅读 · 0 评论 -
基于docker的caffe环境搭建与使用示例
基于docker的caffe环境搭建与使用示例原文链接: http://blog.csdn.net/elaine_bao/article/details/531176760. 引言Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上。因此,Docker给应用提供了一个从开转载 2017-06-25 19:48:40 · 569 阅读 · 0 评论 -
opencv3 环境安装及实验surf特征的描述符匹配文章整理
OpenCV3.1 SIFT使用OpenCV3对OpenCV的模块进行了调整,将开发中与nofree模块放在 了OpenCV_contrib中(包含SIFT),gitHub上的官方项目分成了两个,opencv 与 opencv_contrib。所以,要使用sift接口需在opencv3.1基础上,再安装opencv_contrib。本文主要记录如何安装opencv_contrib,配置原创 2017-04-25 21:52:43 · 2115 阅读 · 0 评论 -
OpenCV特征点检测------Surf(特征点篇)
Surf(Speed Up Robust Feature)Surf算法的原理 1.构建Hessian矩阵构造高斯金字塔尺度空间其实surf构造的金字塔图像与sift有很大不同,就是因为这些不同才加快了其检测的速度。Sift采用的是转载 2017-04-25 21:38:20 · 1240 阅读 · 0 评论 -
OpenCV2学习笔记(十二):特征提取算法SIFT与SURF
当尝试在不同图像之间进行特征匹配时,通常会遇到图像的大小、方向等参数发生改变的问题,简而言之,就是尺度变化的问题。每幅图像在拍摄时与目标物体的距离是不同的,因此要识别的目标物体在图像中自然会存在不同的尺寸。因此,计算机视觉中引入尺度不变的特征,主要的思想是每个检测到的特征点都伴随对应的尺度因子。1999年David Lowe提出了著名的尺度不变特征检测器SIFT(Scale Invaria转载 2017-04-25 21:17:01 · 1394 阅读 · 0 评论 -
图像配准简介
图像配准在目标检测、模型重建、运动估计、特征匹配,肿瘤检测、病变定位、血管造影、地质勘探、航空侦察等领域都有广泛的应用。每一种配准方法通常都针对某个具体问题而设计的,众多方法中,唯一的共性就是每个配准问题最终都要在变换空间中寻找一种最有的变换,这种变换能够使两幅图像之间在某种意义上达到匹配,但对于不同的应用领域,对图像类型的要求不同,就需要具体问题具体分析。有研究者根据待配准图像之间的关系转载 2017-04-01 11:34:54 · 1426 阅读 · 0 评论 -
OpenCL的NDRange中globalSize,globalSize参数理解及调试笔记
先上源码: const size_t globalSize[2] = {6,4} ; const size_t localSize[2] = {3,2} ; const size_t offset[2] = {3,5} ; size_t dim = 2 ; errNum = clEnqueueNDRangeKernel(commandQueue, kern原创 2017-03-13 16:08:24 · 6895 阅读 · 0 评论 -
【OpenCV入门指南】第十篇 彩色直方图均衡化
上一篇《OpenCV第十篇灰度直方图均衡化》介绍了灰度图像的直方图均衡化,实际生活中,肯定还是彩色图像用的最多,因此本篇介绍对彩色图像进行直方图均衡化。这样可以让大家直方图均衡化对图像增强的效果有个直观的印象。 在OpenCV中,彩色的图像其实是用一个多通道数组来存储的,每个单通道数组中的元素的取值范围都是0到255。这与灰度图中像素的变化范围是相同的。因此对彩色图像进行直方图均衡化只要转载 2017-03-22 11:46:45 · 501 阅读 · 0 评论 -
ubuntu14.04+opencv 3.0安装及测试
本文记录ubuntu下安装opencv过程,步骤来自 opencv官网 1、安装opencv所需的库(编译器、必须库、可选库)转载请说明 http://www.cnblogs.com/llxrl/p/4471831.html GCC 4.4.x or laterCMake 2.6 or higherGitGTK+2.x or higher, including headers (libgtk2.0...转载 2016-01-19 17:18:41 · 2697 阅读 · 0 评论 -
opencv+cmake+vs2010开发环境搭建笔记
转自:http://www.cnblogs.com/emouse/archive/2013/01/27/2878533.html研究生课题做嵌入式图像处理方向,所以主要涉及的知识就是嵌入式Linux+OpenCV+QT,主要OpenCV和QT都是跨平台的,而且充分利用好的话再后期的算法设计和功能扩展上就方便很多。只是之前多数做的是硬件方向设计和偏单片机类型的处理器,嵌入式Linux没有转载 2016-03-12 18:56:33 · 2404 阅读 · 1 评论 -
macOS上安装opencv3笔记
原文:http://www.learnopencv.com/install-opencv-3-on-yosemite-osx-10-10-x/Life was good the last time you installed OpenCV on your Mac. You instantly brewed it and thanked the good folks at Homeb转载 2016-01-27 22:18:07 · 18081 阅读 · 1 评论 -
opencv中meanshift和camshift例子的应用教程示例
在这一节中,主要讲目标跟踪的一个重要的算法Camshift,因为它是连续自使用的meanShift,所以这2个函数opencv中都有,且都很重要。为了让大家先达到一个感性认识。这节主要是看懂和运行opencv中给的sample并稍加修改。 Camshift函数的原型为:RotatedRect CamShift(InputArray probImage, Rect& window转载 2013-04-09 10:30:36 · 2391 阅读 · 0 评论 -
OpenCV基础知识教程_整理供查询
OpenCV的基本数据类型...2矩阵和图像类型...4CvMat矩阵结构...4矩阵数据的存取...8点的数组...13IplImage数据结构...14访问图像数据...17对ROI和widthStep的补充...18矩阵和图像操作...21cvAbs,cvAbsDiff和cvAbsDiffS.23cvAdd,cvAddS, cvAddWeighted和原创 2013-04-09 10:54:59 · 7712 阅读 · 0 评论 -
直方图的反向投影
1.反向投影的作用是什么? 反向投影用于在输入图像(通常较大)中查找特定图像(通常较小或者仅1个像素,以下将其称为模板图像)最匹配的点或者区域,也就是定位模板图像出现在输入图像的位置。2.反向投影如何查找(工作)? 查找的方式就是不断的在输入图像中切割跟模板图像大小一致的图像块,并用直方图对比的方式与模板图像进行比较。假设我们有一张100x100的输入图像,有一张10x转载 2013-04-08 21:19:27 · 1473 阅读 · 0 评论 -
OpenCV2.4.3的新特征以及安装方法
OpenCV2.4.3的新特征: 在经过4个月的等待后,OpenCV又发布了新版本了,此时的最新版本为OpenCV2.4.3,下载地址为:OpenCV-2.4.3.exe。 下面来看看opencv2.4.3有了哪些新变化,主要是参考网页http://code.opencv.org/projects/opencv/wiki/ChangeLog上面介绍的,稍加翻译了一些,因转载 2013-04-08 22:11:25 · 1372 阅读 · 0 评论 -
opencv2.4.2+vs2010安装简介
总结系列_7(opencv2.4.2+vs2010安装简介)环境: XP SP3 +32位系统+ VS2010 + opencv2.4.2 步骤1: 到这来选择下载 opencv2.4.2.exe . 步骤2: 双击exe解压到自己想安装的目录,我这来是解压完后的目录为: C:\ProgramFiles\opencv2转载 2013-04-08 22:16:26 · 2403 阅读 · 0 评论 -
linux/Ubuntu 下安装OpenCV
参考文献1:http://opencv.willowgarage.com/wiki/InstallGuide_Linux参考文献2:http://opencv.willowgarage.com/wiki/InstallGuide我使用的环境是:ubuntu9.10。这理仅简短的描述如何在ubuntu上安装OpenCV,在ubuntu上安装OpenCV可以使用2种方式:1、直接使用源转载 2013-04-11 14:42:13 · 2054 阅读 · 1 评论 -
CvCapture使用的一点说明
通过OpenCV读视频或是(摄像头)的时候,通常会使用CvCapture和IplImage *。一个典型的代码如下: CvCapture *cap; IplImage *frame; const char ESC = 27; if ((cap = cvCreateCameraCapture(0)) != 0) { cvNamedWindow("Camera");转载 2013-04-13 17:51:12 · 7305 阅读 · 0 评论 -
MeanShift中IplImage的使用介绍
IplImage是通过cvLoadImage一jpg图片得到的,而我的程序里是利用v4l2驱动从摄像头读到的UYVY格式的数据,因此想自己来创建这个IplImage的结构体。 IplImage是openCV库中很重要的一个结构体,库中的图像都是保存为这个结构体后再进行操作的。下面先转载一篇将这个结构体的文章http://www.sciencenet.cn/m/user_content.aspx转载 2013-04-08 10:57:05 · 1049 阅读 · 0 评论 -
图像处理和图像识别中常用的OpenCV函数
图像处理和图像识别中常用的OpenCV函数详细函数说明见资料:http://ishare.iask.sina.com.cn/f/17424200.html1、cvLoadImage:将图像文件加载至内存;2、cvNamedWindow:在屏幕上创建一个窗口;3、cvShowImage:在一个已创建好的窗口中显示图像;4、cvWaitKey:使程序暂停,等待用户触发一个按转载 2013-04-12 15:08:23 · 1826 阅读 · 0 评论 -
opencv轮廓及点在轮廓内判断
查找轮廓轮廓到底是什么?一个轮廓一般对应一系列的点,也就是图像中的一条曲线.表示的方法可能根据不同情况而有所不同.有多重方法可以表示曲线.在openCV中一般用序列来存储轮廓信息.序列中的每一个元素是曲线中一个点的位置.关于序列表示的轮廓细节将在后面讨论,现在只要简单把轮廓想象为使用CvSeq表示的一系列的点就可以了.函数cvFindContours()从二值图像中寻找轮廓.c转载 2015-04-07 16:41:30 · 19992 阅读 · 0 评论 -
Opencv 图片的初步处理——平滑处理
Opencv 图片的初步处理——平滑处理明天上午还有HP的二面 本来要睡了 想了下 还是又写了一篇关键函数:Smooth各种方法的图像平滑void cvSmooth( const CvArr* src, CvArr* dst, int smoothtype=CV_GAUSSIAN, int param1=转载 2015-04-14 15:42:48 · 1014 阅读 · 0 评论 -
【OpenCV】访问Mat图像中每个像素的值
今天百度搜资料还搜到了自己的。。。《访问图像中每个像素的值》,这是之前写的了,用的也是2.0的风格IplImage*格式,不太适用后来Mat的格式,特此重写一篇。以下例子源自《The OpenCV Tutorials --Release 2.4.2》2.2 How to scan images, lookup tables and time measurement with OpenCV转载 2015-04-17 13:44:40 · 817 阅读 · 0 评论 -
OPENCV常用小代码
常用opencv小功能原创 2016-01-21 12:54:49 · 880 阅读 · 0 评论 -
opencv 的图像局部与部分分割
背景减除一旦背景模型建立,将背景模型和当前的图像进行比较,然后减去这些已知的背景信息,则剩下的目标物大致就是所求的前景目标了 缺点 —— 该方法基于一个不长成立的假设:所有像素点是独立的 场景建模新的前景(物体移动的新位置) —— 旧的前景 (物体离开后留下的“空洞”)—— 背景 cvInitLineIterator() 和 CV_NEXT_LINE_POINT()转载 2016-01-22 11:12:24 · 2871 阅读 · 0 评论 -
OpenCV进行图像相似度对比的几种办法
对计算图像相似度的方法,本文做了如下总结,主要有三种办法:1.PSNR(Peak Signal to Noise Ratio)峰值信噪比,一种全参考的图像质量评价指标。简介: http://www.cnblogs.com/vincent2012/archive/2012/10/13/2723152.htmlPSNR是最普遍和使用最为广泛的一种图像客观评价指标,然而它是基于对应像素点转载 2016-01-20 15:46:01 · 5037 阅读 · 0 评论