
OpenCV
文章平均质量分 78
大强zq
博观而约取,厚积而薄发
展开
-
张正友相机标定算法原理与源代码(OpenCV+C++)
摄像机的标定问题是机器视觉领域的入门问题,可以分为传统的摄像机定标方法和摄像机自定标方法。定标的方法有很多中常见的有:Tsai(传统)和张正友(介于传统和自定标)等, 摄像机成像模型和四个坐标系(通用原理)。 摄像机模型采用经典的小孔模型,如图中Oc(光心),像面π表示的是视野平面,其到光心的距离为f(镜头焦距)。 四个坐标系分别为:世界坐标系(Ow),摄像机坐原创 2015-07-28 10:02:18 · 15587 阅读 · 7 评论 -
Mat矩阵的初始化
在研究Mat矩阵的初始化的时候,发现其不能像Matx轻量级矩阵那样,直接利用数组来进行初始化,而是利用一个内部的变量类型:Scalar来进行初始化的。参考手册中的构造函数如下所示: (1) Mat::Mat()(2) Mat::Mat(int rows, int cols, int type)(3) Mat::Mat(Size size, int type)(4) Mat::Mat(int ro原创 2015-07-28 15:36:02 · 896 阅读 · 0 评论 -
OpenCV矩阵运算
Mat I,img,I1,I2,dst,A,B; double k,alpha; Scalar s; 1.加法 I=I1+I2;//等同add(I1,I2,I); add(I1,I2,dst,mask,dtype); scaleAdd(I1,scale,I2,dst);//dst=scale*I1+I2; 2.减法 absdiff(I1,I2,I);//I=|I1-I2|;原创 2015-07-28 15:14:21 · 602 阅读 · 0 评论 -
CvMat、Mat、IplImage之间的转换及实例源码
OpenCV学习之CvMat的用法详解及实例 CvMat是OpenCV比较基础的函数。初学者应该掌握并熟练应用。但是我认为计算机专业学习的方法是,不断的总结并且提炼,同时还要做大量的实践,如编码,才能记忆深刻,体会深刻,从而引导自己想更高层次迈进。 1.初始化矩阵: 方式一、逐点赋值式: CvMat* mat = cvCreateMat( 2, 2, CV_64FC转载 2015-08-02 14:07:29 · 579 阅读 · 0 评论 -
OpenCV调用USB摄像头源码
#include"cv.h" #include"highgui.h" #include"iostream" using namespace std; int main(int argc,char* argv[]) { CvCapture* cap; cap=cvCaptureFromCAM(1); if(!cap) { cou原创 2015-08-03 11:42:02 · 8891 阅读 · 2 评论 -
OpenCV在未知相机内参数情况下的立体图像矫正方法
很多时候我们不知道摄像机的内参数矩阵,并且我们也不太关注内参数到底是多少,因为我们仅仅关心如何得到两幅图像的稠密匹配,或者两幅图像的差别——例如我们只想计算两幅图像的视差图,或者说得到两幅立体图像对的深度图就足够了。既然不知道摄像机的内参数,那么就只能借助对极约束来达到目的了。通过计算两幅图像的基础矩阵F,然后利用对极约束矫正极线为平行线的方法,可以很好的实现这个目标,该方法也被称为Hartly方转载 2015-08-05 13:49:36 · 2780 阅读 · 0 评论 -
OpenCV中特征点提取和匹配的通用方法
OpenCV在新版本中把很多C语言的代码都重新整理成了C++代码,让我们在使用的时候更加方便灵活。其中对于特征点的提取和匹配,充分体现了C++的强大。下面直接用例子来说明。假设我们有两幅图:1.bmp和2.bmp,要从中提取体征点并匹配,代码如下: // Load image from file IplImage *pLeftImage = cvLoadImage("1.bmp",原创 2015-11-21 23:19:26 · 980 阅读 · 0 评论 -
OpenCV2:特征匹配及其优化
使用OpenCV2进行特征匹配的步骤做了一个简单的介绍,其匹配出的结果是非常粗糙的,在这篇文章中对使用OpenCV2进行匹配的细化做一个简单的总结。主要包括以下几个内容: DescriptorMatcher DMatcher KNN匹配 计算两视图的基础矩阵F,并细化匹配结果 计算两视图的单应矩阵H,并细化匹配结果 DescriptorMatcher 和 DMatcher原创 2015-11-21 23:16:32 · 1519 阅读 · 0 评论 -
Orb匹配算法代码
[cpp] view plaincopy #include #include "opencv2/core/core.hpp" #include "opencv2/features2d/features2d.hpp" #include "opencv2/highgui/highgui.hpp" #include原创 2016-01-01 23:15:41 · 7052 阅读 · 6 评论