![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
OpenCV
文章平均质量分 88
cc_sunny
未来,属于一心实现自己预言的人。
展开
-
计算机视觉、机器学习相关领域论文和源代码大集合
转自: http://blog.csdn.net/zouxy09/article/details/8550952 作者:zouxy09一、特征提取Feature Extraction:· SIFT [1] [Demo program][SIFT Library] [VLFeat]· PCA-SIFT [2] [Project]转载 2015-10-04 16:21:37 · 2735 阅读 · 1 评论 -
关于PCL的那些事——环境搭配(PCL1.8 64bitWIN8.1 VS2013)
新项目是3D重建,最近都在查资料看论文,关于生成3D点云,特征检测,点云匹配,曲面重建等等。有篇知乎写得不错,讲了实现3D重建的相关体系和方法。不过我也是从那里面得到了启发,方法和里面也不太相同,因为里面主要是多幅2D图像三维重建和单目三维重建,他们都没有深度信息而是通过SFM等一些算法计算出景深。而我使用的是RGBD传感器如kinect,xtion。所以我关注与3D特征检测匹配等。大家可以看看微原创 2015-11-20 17:45:41 · 29717 阅读 · 44 评论 -
关于OpenCV的那些事——相机标定
这一节我们首先介绍下计算机视觉领域中常见的三个坐标系:图像坐标系,相机坐标系,世界坐标系。以及他们之间的关系。然后介绍如何使用张正友相机标定法标定相机。图像坐标系:理想的图像坐标系原点O1和真实的O0有一定的偏差,由此我们建立了等式(1)和(2),可以用矩阵形式(3)表示。相机坐标系(C)和世界坐标系(W):通过相机与图像的投影关系,我们得到了等式(4)和等式(5)原创 2015-10-05 16:09:09 · 75053 阅读 · 29 评论 -
关于OpenCV的那些事——利用RANSAC消除错误姿态
上一节《关于OpenCV的那些事——跟踪点选取方式和特征点跟踪恢复》讲了两种跟踪和恢复的方法,本来项目就此结束了,想开一个新项目3D重建的,但是老板让发一篇journal,心想着这点东西肯定发不了,于是对项目进行了优化。11月半-1月半,两个月(一个月写,一个月改,老板对格式要求极其严格。。)发了香港的一个图像信号处理的期刊,3月的时候收到了accepted的通知。在这期间,我一边优化着项目,一边原创 2016-04-20 14:42:26 · 6206 阅读 · 0 评论 -
关于OpenCV的那些事——相机姿态更新
上一节我们使用张正友相机标定法获得了相机内参,这一节我们使用Robust Planar Pose (RPP) 算法估计相机初始姿态并更新之。推荐3篇我学习的博客:【姿态估计】Pose estimation algorithm 之 Robust Planar Pose (RPP)algorithm,POSIT算法的原理--opencv 3D姿态估计,三维姿态:关于solvePnP与cvPOSIT原创 2015-10-05 17:42:42 · 28040 阅读 · 10 评论 -
关于OpenCV的那些事——ORB的brief描述子(256bit)的match心得
用了ORB那么久,今天第一次将256bit的描述子打印出来,直观看到了match的汉明距离。上代码:#include #include #include #include #include #include using namespace std;using namespace cv;int main(){ Mat image = imread("t.png原创 2016-05-26 00:33:52 · 4518 阅读 · 2 评论 -
关于OpenCV的那些事——画AR物体(单目控制)
这段时间把项目的剩余部分全部完成了,包括角点检测改进和恢复追踪。这一节先继续讲利用OpenGL画AR物体。上一节中我们利用SolvePnP得到了相机的姿态(rotation和translation),利用姿态信息我们可以通过加载model_view_matrix来控制opengl里的相机。首先我试了用cmake重新编译with_opengl版的opencv,但是失败了(后来有了成功编译wi原创 2015-11-02 16:49:11 · 8019 阅读 · 2 评论 -
关于OpenCV的那些事——跟踪点选取方式和特征点跟踪恢复
这一节应该是本项目(Feature Tracking and Synchronous Scene Generation with a Single Camera)的最后一节了,实现了两种选取跟踪点和恢复跟踪的方法,顺便把AR物体换成了AR小游戏。首先讲讲跟踪点的选取。之前的文章中我们选取ORB作为特征点检测的办法,然后手动选取N个ORB角点去利用LK光流法跟踪。这样的方法是事先定义好3D点的位原创 2015-11-02 22:32:42 · 11406 阅读 · 4 评论 -
相机姿态轨迹最小二乘多项式平滑优化(防抖动)
上一篇讲了利用随即一致性来减少错误匹配的情况,这一篇讲一下使用最小二乘多项式平滑方法来减少姿态的抖动问题。因为我们的设备是手持单目,相机在移动的过程中,会产生细微的抖动。虽然EKF或者G2O(通用图优化)会帮我们最小化错误,但是当我们得到正确的最接近真实的姿态后,我们会发现这些姿态是存在细微抖动的。下图为未平滑的相机姿态(Matlab):我们看到有大量的抖动在里面。体现在图像上则是AR...原创 2016-05-11 17:50:31 · 7920 阅读 · 4 评论 -
关于OpenNI2和OpenCV2的那些事——获取三维点云数据并用OpenGL表示
上一节呢,我们利用openni2获得了彩色图像和深度图像,这一节我们用openni2的转换函数将深度数据转换为三维点云,然后用彩色数据作为纹理将点云用opengl画出来。首先介绍CoordinateConverter::convertDepthToWorld(const VideoStream& depthStream, int depthX, int depthY, DepthPixel d原创 2015-11-12 15:45:40 · 18132 阅读 · 10 评论 -
关于OpenNI2和OpenCV2的那些事——获取彩色图和深度图(XtionProLive)
上一节讲述了搭环境时遇到的挫折,这一节我们来讲讲如何使用XtionProLive(XtionPro没有彩色摄像头,Live版才有)获取彩色图和数度图,以及彩色图的放大与水平镜像。(PS: 对比两代OpenNI,2真的比1要简洁得多,使用OpenNI2编程序,代码简单易懂。)首先初始化环境:OpenNI::initialize();创建状态:Status rc = STATUS_OK;接原创 2015-11-02 14:20:02 · 12747 阅读 · 11 评论 -
关于OpenCV的那些事——Orb角点检测,BF匹配跟踪和LK光流跟踪
从这一节开始学习OpenCV并使用它实现PTAM 的另类版本:Feature Tracking and Synchronous Scene Generation with a Single Camera主要思想还是parallel,两个线程tracking和mapping并行运行。这里我将mapping简化为generation,细节以后会做具体介绍,今天开始记录我的研究历程。上一节中我们原创 2015-10-02 19:07:06 · 12598 阅读 · 8 评论 -
关于OpenNI(1.5/2)和OpenCV的那些事——环境搭建(Windows8.1, 64位系统, VS2012/2013, 华硕XtionProLive)
今天着手写这篇博客,真的是已经被OpenNI虐的不行的,浏览了国内国外好多博客,论坛,但是版本,环境,设备,操作系统的不同,使得我最终放弃了cmake重新编译opencv(with_openni)的做法,改成直接使用openni。两者的区别在于获取图象时,使用重新编译过的opencv时,经过opencv的强大处理,我们不仅可以得到彩色图像,深度图,还可以直接得到视察图,甚至三维点云;而使用open原创 2015-11-01 20:14:21 · 5189 阅读 · 1 评论 -
关于SLAM的那些事——实时RGBD_ORB_SLAM (Ubuntu+Xtion)
最近写完了windows上的实时rgbd_slam后,读了些论文,想着怎么改进程序,感觉在闭环检测的方面可以改进。最近很火的ORB_SLAM2使用了DBoW2(ORB词袋)的方法,极大的提高了速度和匹配准确度,windows版的orb_slam2还没跑成功(一部分库的编译出现了问题,不过等研究做完了,会继续跑windows版本的),这几天一直在尝试ubuntu版的orb_slam的实时重建,今天终原创 2016-05-24 20:54:15 · 21617 阅读 · 32 评论