SFM(structure from motion)学习记录(一)
visualSFM用法

添加图片
- "File->Open Multi Images". 一次添加多幅图片
 - "SfM->Load NView Match". 可以把之前保存的.nvm文件添加进来
 
特征检测&全图像对匹配
- 点击2或选择"SfM->Pairwise Matching->Compute Missing Match",执行完后可以回到第一步再添加一些图片,再次计算缺失的匹配。
 - 这个过程会比较慢,耐心等待就好^_^
 
稀疏重建
- 点击3或者选择"SfM->Reconstruct Sparse"
 
稠密重建
- 点击4
 - 该过程会让保存文件,CMVS过程在[name].nvm.cmvs文件夹下会进行。结束后文件夹下包含各种文件如相机信息、点云信息及meshlab使用的文件。[name].i.ply是第i个模型的信息。
 
相机模型和坐标系统
- 相机模型有8个参数,如果忽略径向畸变的话,有7个参数。
 - 给定相机K[R T],K=[f 0 0;0 f 0;0 0 1],径向畸变r,三维点X
 - 则X在图像的投影是[x,y,z]=K(RX+T)->(x/z,y/z)
 - 假设X在图像的真实位置是mx,my(相对于主点即图像中心)
 - 畸变因子r2=r*(mx*mx+my*my),未畸变的测量是(1+r2)*(mx,my)
 - 投影误差是:(x/z - (1 + r2) mx, y /z - (1 + r2) my)
 
当在以图像左上角为原点的坐标系时:
- K = [fx 0 0; 0 fx 0; 0 0 1], Kc = [1 0 cx; 0 fy/fx cy; 1],
 - 则Kc * K = [fx 0 cx; 0 fy cy; 0 0 1](u, v, 1)' 表示在像素坐标系下的坐标 (相对于图像左上角
 - (u, v, 1)'= Kc*(mx, my, 1)'
 
- 在进行特征提取和匹配时,会在图像同一目录自动生成[name].sift和[name].mat文件。[name].sift保存提取的图像特征点,[name].mat保存图像间的匹配信息。若想要改变特征检测的参数重新重建模型的话,需要先删除.sift,.mat文件。
 - 若想要读回匹配的信息,需要先"SfM->Pairwise Matching->Export F-Matrix Matches"使匹配信息保存到txt文件里。
 
SFM(structure from motion)学习记录(一)的更多相关文章
- Structure From Motion(二维运动图像中的三维重建)
		
SfM(Structure from Motion)简介 Structure from motion (SfM) is a photogrammetric range imaging techniqu ...
 - Structure From Motion(SFM,从运动恢复结构)
		
Structure From Motion(SFM,从运动恢复结构) 阅读相关文献: Wu et al. Multicore Bundle Adjustment Agarwal et. al. Bun ...
 - [转]第四章 使用OpenCV探测来至运动的结构——Chapter 4:Exploring Structure from Motion Using OpenCV
		
仅供参考,还未运行程序,理解部分有误,请参考英文原版. 绿色部分非文章内容,是个人理解. 转载请注明:http://blog.csdn.net/raby_gyl/article/details/174 ...
 - Matlab 进阶学习记录
		
最近在看 Faster RCNN的Matlab code,发现很多matlab技巧,在此记录: 1. conf_proposal = proposal_config('image_means', ...
 - VisualSFM for Structure from Motion
		
VisualSFM是Changchang Wu编写的使用 Structure from Motion (SfM)进行3D重建的交互界面,具体内容详见http://homes.cs.washington ...
 - leveldb 学习记录(四) skiplist补与变长数字
		
在leveldb 学习记录(一) skiplist 已经将skiplist的插入 查找等操作流程用图示说明 这里在介绍 下skiplist的代码 里面有几个模块 template<typenam ...
 - V4L2学习记录【转】
		
转自:http://blog.chinaunix.net/uid-30254565-id-5637600.html V4L2学习记录 这个还没有分析完,先在这放着,防止电脑坏掉丢了,以后再完善 V4L ...
 - Quartz 学习记录1
		
原因 公司有一些批量定时任务可能需要在夜间执行,用的是quartz和spring batch两个框架.quartz是个定时任务框架,spring batch是个批处理框架. 虽然我自己的小玩意儿平时不 ...
 - Java 静态内部类与非静态内部类 学习记录.
		
目的 为什么会有这篇文章呢,是因为我在学习各种框架的时候发现很多框架都用到了这些内部类的小技巧,虽然我平时写代码的时候基本不用,但是看别人代码的话至少要了解基本知识吧,另外到底内部类应该应用在哪些场合 ...
 
随机推荐
- Java 8 默认方法(Default Methods)
			
Java 8 默认方法(Default Methods) Posted by Ebn Zhang on December 20, 2015 Java 8 引入了新的语言特性——默认方法(Default ...
 - Java集合list,map,set区别及遍历
			
1.1 List.Set.Map基本区别 1.List,Set都是继承Collection接口,Map不是. 2.List:LinkedList.ArrayList.Vector Set :HashS ...
 - radio选择
			
input标签radio单选 <tr> <th style="font-weight: bolder;text-align: right;width:18%" & ...
 - for-each、for-in和for-of的区别
			
for-each.for-in和for-of的区别 1.forEach()方法 用于调用数组的每个元素,并将元素传递给回调函数. 注意: forEach() 对于空数组是不会执行回调函数的. arra ...
 - Five Great .NET Framework 4.5 Features (五大特性)
			
[译].Net 4.5 的五项强大新特性 本文原文:Five Great .NET Framework 4.5 Features译者:冰河魔法师 目录 介绍 特性一:async和await 特性二 ...
 - 【原创】连接数据库MySQL,读取、显示、修改数据
			
/* Time: 2017.01.02 —— 2017.01.04 * Author: WJ * Function:连接数据库,从数据库中读取图片并显示(已成功) */ [参考链接] MySQL存入图 ...
 - 卷积与反卷积以及步长stride
			
1. 卷积与反卷积 如上图演示了卷积核反卷积的过程,定义输入矩阵为 I(4×4),卷积核为 K(3×3),输出矩阵为 O(2×2): 卷积的过程为:Conv(I,W)=O 反卷积的过称为:Deconv ...
 - [Linux]Linux下rsync服务器和客户端配置
			
一.rsync简介 Rsync(remote sync)是UNIX及类UNIX平台下一款神奇的数据镜像备份软件,它不像FTP或其他文件传输服务那样需要进行全备份,Rsync可以根据数据的变化进行差异( ...
 - SharePoint REST API - REST请求导航的数据结构
			
博客地址:http://blog.csdn.net/FoxDave 从一个既定的URL获取其他SharePoint资源 当你用SharePoint REST服务进行开发的时候,你经常会从指定的一个 ...
 - L251
			
Beer before wine, or wine before beer; whatever the order, you’ll feel queer. That, at least, is the ...