求问基于双目重建的代码解析

肖蜗牛 肖蜗牛 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
下载网址:http://download.csdn.net/detail/aichipmunk/9073499
blog:http://blog.csdn.net/qq_26499769/article/details/51817254#comments
在上面这个网址下载了基于opencv3.0的双目重建代码。自己用的opencv3.1重配置了下。
主函数:
void main()
{
string img1 = "0004.png";
string img2 = "0006.png";
vector<string> img_names = { img1, img2 };
vector<vector<KeyPoint>> key_points_for_all;
vector<Mat> descriptor_for_all;
vector<vector<Vec3b>> colors_for_all;
vector<DMatch> matches;
//本征矩阵
Mat K(Matx33d(
2759.48, 0, 1520.69,
0, 2764.16, 1006.81,
0, 0, 1));
//提取特征
extract_features(img_names, key_points_for_all, descriptor_for_all, colors_for_all);
//特征匹配
match_features(descriptor_for_all[0], descriptor_for_all[1], matches);
//计算变换矩阵
vector<Point2f> p1, p2;
vector<Vec3b> c1, c2;
Mat R, T; //旋转矩阵和平移向量
Mat mask; //mask中大于零的点代表匹配点,等于零代表失配点
get_matched_points(key_points_for_all[0], key_points_for_all[1], matches, p1, p2);
get_matched_colors(colors_for_all[0], colors_for_all[1], matches, c1, c2);
find_transform(K, p1, p2, R, T, mask);
//三维重建
Mat structure; //4行N列的矩阵,每一列代表空间中的一个点(齐次坐标)
maskout_points(p1, mask);
maskout_points(p2, mask);
reconstruct(K, R, T, p1, p2, structure);
//保存并显示
vector<Mat> rotations = { Mat::eye(3, 3, CV_64FC1), R };
vector<Mat> motions = { Mat::zeros(3, 1, CV_64FC1), T };
maskout_colors(c1, mask);
save_structure(".\\Viewer\\structure.yml", rotations, motions, structure, c1);
system(".\\Viewer\\SfMViewer.exe");
}
我做出来结果是在viewer文件夹生成了\structure.yml文件。代码主人说打开viewer下的SfMViewer.exe就可以显示出structure。然后我很好奇这个SfMViewer.exe怎么写出来的??viewer文件夹里还包含了很多opencv的dll。有大神知道怎么写出来的吗??
...全文

相关推荐

sfm双目重建python版本

这个项目为初学者提供了一个了解和实践双目重建的基础平台,但对于实际应用,可能需要扩展到多视图重建,以提高重建的精度和鲁棒性。

shenhuaifeng

精迅V2 Pro-V4:可学习的结构光3D相机方案,单目双目重建与HDR点云拼接全解析

3D视觉技术正成为工业检测与机器人感知的核心支撑,而结构光因其高精度、高密度点云优势,在近距离测量场景中扮演关键角色。结构光通过投影编码图案并分析形变来重建物体三维信息,根据相机配置可分为单目重建与双目重建:单目结构简单但易受遮挡与表面材质影响,双目通过多视角冗余提升鲁棒性;同时针对高反光、深色物体,HDR高动态成像与多曝光融合能有效改善点云完整性。点云拼接与预处理则是从散乱点云构建完整模型的关键环节,涉及滤波、配准与全局优化。本文围绕一套兼具软硬件与源码课程的结构光3D相机开发方案,分享其在单/双目切换、

RC-1136

结构光3D相机技术详解:单双目重建、HDR与点云拼接

在工业自动化与精密测量领域,3D视觉技术正成为核心驱动。结构光3D相机作为一种主动光学测量方案,通过投射编码图案并分析物体表面的形变,可稳定重建高精度三维点云,尤其适用于纹理匮乏、高反光等复杂工业场景。其技术链路涵盖单目/双目重建、HDR高动态融合与点云拼接等关键环节:单目结构光标定简洁,双目结构光覆盖更全;HDR多曝光融合有效解决金属反光问题;多视角点云拼接则依赖粗配准与ICP精配准的协同。这套技术组合在工业检测、逆向建模、机器人引导等领域具有广泛应用价值。以一套开源工业结构光相机方案为例,深度解析从相机

安洛洛洛洛洛

双目重建软件,编译了博主的源码,本来就跟视频有差异不是编译问题https://blog.csdn.net/angle_cal/article/details/9

编译过程本身通常是为了将编程语言(如C++或Python)写的源代码转换成可执行文件,以便在计算机上运行。

诶咦咦

基于双目视觉的三维重建(matlab 语言实现)(推荐)_基于双目的三维模型重建_三维重建matlab_双目重建_.zip

在本资料包“基于双目视觉的三维重建(matlab 语言实现)(推荐)_基于双目的三维模型重建_三维重建matlab_双目重建_.zip”中,包含的资源主要与使用MATLAB进行双目视觉三维重建的实践和理论相关

153_m0_67912929
评论 4
收藏 已收藏
分享
返回顶部
肖蜗牛
OpenCV 4,271 成员 959 内容