• 大小: 7.79M
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2023-09-25
  • 语言: 其他
  • 标签: 其他  

资源简介

gsm1.rar

资源截图

代码片段和文件信息

//由匹配点 、两个相机的投影矩阵生成3D点

//#define USE_GPU 

#include “Header.h“
#include “gms_matcher.h“
#include

void meMatch2(Mat &img1 Mat &img2vector &kp1vector &kp2vector &matches_gms);
void Gms_Match(Mat &img1 Mat &img2vector &kp1vector &kp2vector &matches_all);


//读取一个投影矩阵
void read1Project(string nameMat &project)
{
ifstream in;     //文件读操作,存储设备读区到内存中  
in.open(name.data());   //将文件流对象与文件连接起来 
    assert(in.is_open());   //若失败则输出错误消息并终止程序运行 
string s;
    getline(ins);

float m1m2m3m4;

for(int i=0;i {
int j=0;
in >> m1   >> m2   >> m3   >> m4  ;
project.at(ij++)=m1;
project.at(ij++)=m2;
project.at(ij++)=m3;
project.at(ij)=m4;
}

in.close();             //关闭文件输入流 
}

//读取两个投影矩阵
void readProject(string name1string name2Mat &project1Mat &project2)
{
read1Project(name1project1);
std::cout << project1 << ‘\n‘;
read1Project(name2project2);
std::cout << project2 << ‘\n‘;
}

/*重建出三维点,并将其保存在structure中。*/
void reconstruct (
Mat project1
Mat project2
vector points1
vector points2
vector& structure

{
Mat structure_matrix;
triangulatePoints (project1 project2 points1 points2 structure_matrix); // 三角重建
//projMatr1– 3x4 第一个相机的投影矩阵.
//projMatr2– 3x4 第二个相机的投影矩阵.
//projPoints1– 2xN 第一幅图像的特征点矩阵.
//projPoints2– 2xN第二幅图像的特征点矩阵.
//points4D– 4xN 在齐次坐标系之中重构的向量

structure.reserve (structure_matrix.cols); // 不能用resize
for (int i = 0; i < structure_matrix.cols; i++)
{
Mat_ coordinate = structure_matrix.col (i);
coordinate /= coordinate (3);//齐次坐标,需要除以最后一个元素才是真正的坐标值
structure.push_back (Point3f (coordinate (0) coordinate (1) coordinate (2)));
}
}

/********************************************************************************************************
参数:
keypoints1 第一张图片的特征点; keypoints2 第二张图片的特征点; matches 匹配的结果; (points1[i] points2[i]) 第
i个匹配的特征点对。
功能:
利用两张图片的特征点keypoints1、keypoints2和匹配的结果matches,可以得到两个数组points1和points2,
(points1[i] points2[i])表示第i个匹配的特征点对。
*********************************************************************************************************/
void get_match_points (
vector keypoints1
vector keypoints2
vector matches
vector& points1
vector& points2

{
for (int i = 0; i < matches.size (); i++)
{
points1.push_back (keypoints1[matches[i].queryIdx].pt);
points2.push_back (keypoints2[matches[i].trainIdx].pt);
}
}

/********************************************************************************************************
参数:
filename 文件名; 
structure 重建出的三维点;
功能:
将重建出的3D点保存在.xyz文件中(无色)。
*********************************************************************************************************/
void save_structure1 (
char* filename//string
vector& structure

{
ofstr

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件     305664  2017-12-19 18:59  gsm1\Debug\gsm1.exe

     文件     935652  2017-12-19 18:59  gsm1\Debug\gsm1.ilk

     文件    3009536  2017-12-19 18:59  gsm1\Debug\gsm1.pdb

     文件     229998  2017-10-23 22:07  gsm1\gsm1\bundle.rd.out

     文件      17996  2017-12-19 18:59  gsm1\gsm1\Debug\BuildLog.htm

     文件    1486816  2017-12-19 18:59  gsm1\gsm1\Debug\GridMatch.obj

     文件        621  2017-12-19 18:59  gsm1\gsm1\Debug\gsm1.exe.intermediate.manifest

     文件         67  2017-12-19 18:59  gsm1\gsm1\Debug\mt.dep

     文件    3178014  2017-12-13 23:53  gsm1\gsm1\Debug\openCV32SFM.obj

     文件     740352  2017-12-19 18:59  gsm1\gsm1\Debug\vc90.idb

     文件     888832  2017-12-19 18:59  gsm1\gsm1\Debug\vc90.pdb

     文件       9916  2017-12-11 17:59  gsm1\gsm1\gms_matcher.h

     文件      10716  2017-12-19 18:59  gsm1\gsm1\GridMatch.cpp

     文件       4860  2017-12-19 11:46  gsm1\gsm1\gsm1.vcproj

     文件       1411  2017-12-19 19:13  gsm1\gsm1\gsm1.vcproj.asus-pc.ASUS.user

     文件        386  2017-12-08 06:27  gsm1\gsm1\Header.h

     文件    2608285  2017-11-25 22:44  gsm1\gsm1\models\kermit.ply

     文件     789893  2017-10-23 22:08  gsm1\gsm1\models\option-0000.ply

     文件    1303031  2017-11-24 08:14  gsm1\gsm1\models\_color.png

     文件        437  2017-12-19 19:13  gsm1\gsm1\out12.ply

     文件        437  2017-12-19 18:04  gsm1\gsm1\out2.ply

     文件     190148  2017-12-14 22:51  gsm1\gsm1\show.jpg

     文件     261646  2017-12-19 19:13  gsm1\gsm1\show1.jpg

     文件     235323  2017-12-19 19:13  gsm1\gsm1\show2.jpg

     文件     232495  2017-12-19 19:13  gsm1\gsm1\show3.jpg

     文件        195  2017-10-23 22:07  gsm1\gsm1\txt\00000000.txt

     文件        196  2017-10-23 22:07  gsm1\gsm1\txt\00000001.txt

     文件        192  2017-10-23 22:07  gsm1\gsm1\txt\00000002.txt

     文件        191  2017-10-23 22:07  gsm1\gsm1\txt\00000003.txt

     文件        187  2017-10-23 22:07  gsm1\gsm1\txt\00000004.txt

............此处省略30个文件信息

评论

共有 条评论