资源简介
介绍使用基于窗口的稀疏点匹配及三维重建的程序实现,程序使用OpenCV、OpenGL、以及GLUT实现。
代码片段和文件信息
#include “cv.h“
#include “highgui.h“
#include “cvut/cvut.h“
#include “three_dimensional_reconstruction.h“
#include
#include
#include
#include
using namespace std;
using namespace cvut;
#pragma comment(lib“cxcore“)
#pragma comment(lib“cv“)
#pragma comment(lib“highgui“)
//#define REAL_TIME_MATCHING_SHOW
int main(int argcchar** argv)
{
string left_image_name = “image/1_l.bmp“;
string right_image_name = “image/1_r.bmp“;
Image left(left_image_name);
Image right(right_image_name);
Matrix M1(341);
Matrix M2(341);
/************************************************************************
获取透视投影矩阵
*************************************************************************/
ifstream fin(“projective_matrix.txt“);
int ij;
for (i=0;i<3;i++) {
for (j=0;j<4;j++) {
fin>>M1(ij);
}
}
for (i=0;i<3;i++) {
for (j=0;j<4;j++) {
fin>>M2(ij);
}
}
/************************************************************************
计算基础矩阵
*************************************************************************/
Matrix F(calc_fundamental(M1M2));
CvMatrix3 matrix;
for (int x=0;x<3;x++) {
for (int y=0;y<3;y++) {
matrix.m[x][y]=F(xy);
}
}
/************************************************************************
图像校正
*************************************************************************/
cout<<“图像校正……“;
left.show(“校正前 left“);
right.show(“校正前 right“4000);
cvWaitKey();
left.close();
right.close();
do_morphing(leftright&matrix);
left.show(“校正后 left“);
right.show(“校正后 right“4000);
cvWaitKey();
left.close();
right.close();
cout<<“完成“< /************************************************************************
特征提取
*************************************************************************/
cout<<“特征提取……“;
Image left_gray(left.size()81);
Image right_gray(right.size()81);
Image left_edge(left.size()81);
Image right_edge(right.size()81);
//获取灰度图
rgb2gray(leftleft_gray);
rgb2gray(rightright_gray);
//直方图均衡化
hist_equalize(left_gray);
hist_equalize(right_gray);
//轮廓提取
cvCanny(left_gray.cvimageleft_edge.cvimage10.110.0);
cvCanny(right_gray.cvimageright_edge.cvimage10.110.0);
left_edge.show(“left“);
right_edge.show(“right“4000);
cvWaitKey();
left_edge.close();
right_edge.close();
//轮廓腐蚀
cvDilate(right_edge.cvimageright_edge.cvimageNULL1);
cvDilate(left_edge.cvimageleft_edge.cvimageNULL1);
left_edge.show(“left“);
right_edge.show(“right“4000);
cvWaitKey();
left_edge.close();
right_edge.close();
cout<<“完成“<
/************************************************************************
特征匹配
*************************************************************************/
cout<<“特征匹配……“;
vector > depth;
vect
属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 277 2007-05-29 14:05 稀疏点匹配与重建\cvut_test\cvut\cvut.h
文件 5172 2007-05-29 13:28 稀疏点匹配与重建\cvut_test\cvut\cvutImage.h
文件 16538 2007-05-29 14:13 稀疏点匹配与重建\cvut_test\cvut\cvutMatrix.h
文件 6162 2007-05-29 14:08 稀疏点匹配与重建\cvut_test\cvut\cvutSeq.h
文件 6442 2007-05-29 14:34 稀疏点匹配与重建\cvut_test\cvut\cvutUtil.h
文件 5007 2007-06-19 20:13 稀疏点匹配与重建\cvut_test\cvut_test.dsp
文件 543 2007-05-29 14:36 稀疏点匹配与重建\cvut_test\cvut_test.dsw
文件 716899 2008-08-02 17:56 稀疏点匹配与重建\cvut_test\cvut_test.exe
文件 320512 2008-08-02 17:57 稀疏点匹配与重建\cvut_test\cvut_test.ncb
文件 62976 2008-08-02 17:57 稀疏点匹配与重建\cvut_test\cvut_test.opt
文件 5068 2008-08-02 17:56 稀疏点匹配与重建\cvut_test\cvut_test.plg
文件 587 2007-06-21 22:04 稀疏点匹配与重建\cvut_test\cvut_test.positions
文件 27670 2000-12-13 00:22 稀疏点匹配与重建\cvut_test\glut.h
文件 237568 2001-11-08 02:27 稀疏点匹配与重建\cvut_test\glut32.dll
文件 28728 2001-11-08 02:27 稀疏点匹配与重建\cvut_test\glut32.lib
文件 111670 2006-10-31 21:31 稀疏点匹配与重建\cvut_test\image\1_l.bmp
文件 111670 2006-10-31 21:31 稀疏点匹配与重建\cvut_test\image\1_r.bmp
..A.SH. 22528 2007-06-19 23:45 稀疏点匹配与重建\cvut_test\image\Thumbs.db
文件 6689 2007-06-21 21:51 稀疏点匹配与重建\cvut_test\image_rectify.cpp
文件 7409 2003-06-05 17:01 稀疏点匹配与重建\cvut_test\ltga.cpp
文件 4065 2003-06-05 17:01 稀疏点匹配与重建\cvut_test\ltga.h
文件 295 2007-05-19 11:20 稀疏点匹配与重建\cvut_test\projective_matrix.txt
文件 9658 2007-07-30 18:03 稀疏点匹配与重建\cvut_test\three_dimensional_reconstruction.cpp
文件 876 2007-05-29 14:07 稀疏点匹配与重建\cvut_test\three_dimensional_reconstruction.h
目录 0 2008-08-02 18:13 稀疏点匹配与重建\cvut_test\cvut
目录 0 2008-08-02 18:13 稀疏点匹配与重建\cvut_test\image
目录 0 2008-08-02 18:13 稀疏点匹配与重建\cvut_test
目录 0 2008-08-02 18:13 稀疏点匹配与重建
----------- --------- ---------- ----- ----
1715009 28
............此处省略1个文件信息
相关资源
- PCL点云库MovingLeastSquares用法demo
- 三维重建移动立方体法(Marching Cube
- 基于HALCON的双目立体视觉系统实现.
- CT图像三维重建().doc
- 基于改进的光线投射算法的三维重建
- 基于双目视觉的深度计算和三维重建
- VTK三维立体显示代码.doc
- 知名的斯坦福兔子的三维点云数据,
- 基于opencv的三维重建程序
- 建模题目---血管的三维重建
- 三维重建算法原理的书籍
- 多基线立体匹配技术的三维重建
- 双目视觉特征点匹配三维重建
- 三维重建的原理以及算法
- 三维影像重建软件
- photoscan中文教程
- 著名三维重建软件Mimics中文教程
- 2001年全国大学生数学建模竞赛 血管的
- 基于vs2008和Halcon的三维重建软件
- 基于VTK光线投射法的CT图像三维重建
- 医学图像三维重建技术实验源代码
- opencv写的双目视觉摄像机标定和三维
- OpenMVS三维重建开源代码
- 基于窗口的密集点匹配及三维重建
- 知名的斯坦福兔子的三维点云数据,
- 用OpenCV实现的三维重建的程序
评论
共有 条评论