findEssentialMat
基于opencv3的本质矩阵估计算例
代码片段和文件信息
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-05-02 08:39 ex_findEssentialMat
目录 0 2016-05-02 08:39 ex_findEssentialMatCameraCalibration
文件 95208 2001-11-13 16:01 ex_findEssentialMatCameraCalibrationCalib_Results_left.mat
文件 94424 2001-11-13 16:05 ex_findEssentialMatCameraCalibrationCalib_Results_right.mat
文件 503 2016-05-02 08:30 ex_findEssentialMatCameraCalibrationMakefile
文件 61108 2016-05-02 08:30 ex_findEssentialMatCameraCalibrationcalibration
文件 20721 2016-05-01 21:40 ex_findEssentialMatCameraCalibrationcalibration.cpp
文件 62968 2016-05-02 08:30 ex_findEssentialMatCameraCalibrationcalibration.o
文件 30322 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationcamera_l.yml
文件 30325 2016-05-01 21:52 ex_findEssentialMatCameraCalibrationcamera_r.yml
文件 87612 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationfeft01.jpg
文件 89129 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationfeft02.jpg
文件 91320 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationfeft03.jpg
文件 79951 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationfeft04.jpg
文件 89192 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationfeft05.jpg
文件 89394 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationfeft06.jpg
文件 92238 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationfeft07.jpg
文件 89522 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationfeft08.jpg
文件 86155 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationfeft09.jpg
文件 85327 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationfeft10.jpg
文件 87419 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationfeft11.jpg
文件 81721 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationfeft12.jpg
文件 87796 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationfeft13.jpg
文件 87444 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationfeft14.jpg
文件 82765 2016-05-02 08:34 ex_findEssentialMatCameraCalibrationfight01.jpg
文件 84254 2016-05-02 08:34 ex_findEssentialMatCameraCalibrationfight02.jpg
文件 86891 2016-05-02 08:34 ex_findEssentialMatCameraCalibrationfight03.jpg
文件 77002 2016-05-02 08:34 ex_findEssentialMatCameraCalibrationfight04.jpg
文件 81363 2016-05-02 08:34 ex_findEssentialMatCameraCalibrationfight05.jpg
文件 84926 2016-05-02 08:34 ex_findEssentialMatCameraCalibrationfight06.jpg
文件 86331 2016-05-02 08:34 ex_findEssentialMatCameraCalibrationfight07.jpg
............此处省略60个文件信息
/**************************************************************
* an example to estimate essential matrix and relative pose of
* binocular vision sensor using the API function of opencv3.0.0
*
* by jah10527@126.com
* May 1st 2016
*
***************************************************************/
#include
#include
using namespace cv;
using namespace std;
int main()
{
int i point_count = 54;
vector rpoints(point_count);
vector lpoints(point_count);
Mat Ml(33CV_64F);
Mat Mr(33CV_64F);
FileStorage fs(“camera_l.yml“ FileStorage::READ);
if( !fs.isOpened() )
return -1;
fs[“camera_matrix“] >> Ml;
fs.release();
fs.open(“camera_r.yml“ FileStorage::READ);
if( !fs.isOpened() )
return -1;
fs[“camera_matrix“] >> Mr;
fs.release();
cout << “Mr:“ << endl << Mr << endl;
cout << “Ml:“ << endl << Ml << endl;
Mat rim=imread(“fight01.jpg“ IMREAD_GRAYSCALE);
Mat lim=imread(“feft01.jpg“ IMREAD_GRAYSCALE);
findChessboardCorners( rim Size(69) rpoints
CALIB_CB_ADAPTIVE_THRESH | CALIB_CB_FAST_CHECK | CALIB_CB_NORMALIZE_IMAGE);
findChessboardCorners( lim Size(69) lpoints
CALIB_CB_ADAPTIVE_THRESH | CALIB_CB_FAST_CHECK | CALIB_CB_NORMALIZE_IMAGE);
/* cout << “right:“ << endl;
for (i=0;i cout << rpoints[i] << endl;
cout << “left:“ << endl;
for (i=0;i cout << lpoints[i] << endl;*/
cornerSubPix( rim rpoints Size(88)
Size(-1-1) TermCriteria( TermCriteria::EPS+TermCriteria::COUNT 30 0.1 ));
cornerSubPix( lim lpoints Size(88)
Size(-1-1) TermCriteria( TermCriteria::EPS+TermCriteria::COUNT 30 0.1 ));
for (i=0;i {
rpoints[i].x = (rpoints[i].x-*((double*)Mr.data+2))/ *((double*)Mr.data);
rpoints[i].y = (rpoints[i].y-*((double*)Mr.data+5))/ *((double*)Mr.data+4);
lpoints[i].x = (lpoints[i].x-*((double*)Ml.data+2))/ *((double*)Ml.data);
lpoints[i].y = (lpoints[i].y-*((double*)Ml.data+5))/ *((double*)Ml.data+4);
// cout << “r:“ << rpoints[i] << endl;
// cout << “l:“ << lpoints[i] << endl;
}
Mat E_mat =findEssentialMat(rpoints lpoints 1 Point2d(0 0) RANSAC 0.999 1.f);
cout << “E:“ << endl << E_mat << endl;
/* Mat rr(31CV_64F);
Mat ll(13CV_64F);
*((double*)rr.data+2)=1;
*((double*)ll.data+2)=1;
for (i=0;i<8;i++){
*((double*)rr.data) = rpoints[i].x;
*((double*)rr.data+1) = rpoints[i].y;
*((double*)ll.data) = lpoints[i].x;
*((double*)ll.data+1) = lpoints[i].y;
cout << ll*E_mat*rr << endl;
cout << rr.t()*E_mat*ll.t() << endl;
}
Mat R1 R2 t;
decomposeEssentialMat(E_mat R1 R2 t);
cout << “R1:“ << endl << R1 << endl;
cout << “R2:“ << endl << R2 << endl;
cout << “t:“ << endl << t << endl;*/
Mat R t;
recoverPose(E_mat rpoints lpoints R t);
cout << “t:“ << endl << t <<
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
目录 0 2016-05-02 08:39 ex_findEssentialMat
目录 0 2016-05-02 08:39 ex_findEssentialMatCameraCalibration
文件 95208 2001-11-13 16:01 ex_findEssentialMatCameraCalibrationCalib_Results_left.mat
文件 94424 2001-11-13 16:05 ex_findEssentialMatCameraCalibrationCalib_Results_right.mat
文件 503 2016-05-02 08:30 ex_findEssentialMatCameraCalibrationMakefile
文件 61108 2016-05-02 08:30 ex_findEssentialMatCameraCalibrationcalibration
文件 20721 2016-05-01 21:40 ex_findEssentialMatCameraCalibrationcalibration.cpp
文件 62968 2016-05-02 08:30 ex_findEssentialMatCameraCalibrationcalibration.o
文件 30322 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationcamera_l.yml
文件 30325 2016-05-01 21:52 ex_findEssentialMatCameraCalibrationcamera_r.yml
文件 87612 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationfeft01.jpg
文件 89129 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationfeft02.jpg
文件 91320 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationfeft03.jpg
文件 79951 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationfeft04.jpg
文件 89192 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationfeft05.jpg
文件 89394 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationfeft06.jpg
文件 92238 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationfeft07.jpg
文件 89522 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationfeft08.jpg
文件 86155 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationfeft09.jpg
文件 85327 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationfeft10.jpg
文件 87419 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationfeft11.jpg
文件 81721 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationfeft12.jpg
文件 87796 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationfeft13.jpg
文件 87444 2016-05-01 21:50 ex_findEssentialMatCameraCalibrationfeft14.jpg
文件 82765 2016-05-02 08:34 ex_findEssentialMatCameraCalibrationfight01.jpg
文件 84254 2016-05-02 08:34 ex_findEssentialMatCameraCalibrationfight02.jpg
文件 86891 2016-05-02 08:34 ex_findEssentialMatCameraCalibrationfight03.jpg
文件 77002 2016-05-02 08:34 ex_findEssentialMatCameraCalibrationfight04.jpg
文件 81363 2016-05-02 08:34 ex_findEssentialMatCameraCalibrationfight05.jpg
文件 84926 2016-05-02 08:34 ex_findEssentialMatCameraCalibrationfight06.jpg
文件 86331 2016-05-02 08:34 ex_findEssentialMatCameraCalibrationfight07.jpg
............此处省略60个文件信息
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件举报,一经查实,本站将立刻删除。
评论列表(条)