Make3D Convert your image into 3d model
Compiling and Running Make3D on your own computer
source: http://make3d.cs.cornell.edu/code_linux.html
Make3d has the ability to infer depth from a single 2D image. For more information on how it works see
Make3D.cs.cornell.edu.
The code is available under Creative Commons Attribution-Noncommercial 3.0 unported license.To use the code, you must agree to cite the papers number 1 (TPAMI), 3 (ICCV-3dRR), and 9 (NIPS) available
here, and the url: http://make3d.cs.cornell.edu
What you need
1) A computer running a linux distro (Ubuntu is recommended, but we have been able to run it everywhere including RedHat and amazon clusters). Standard build tools (g++, gcc etc)
2) Matlab
3) Mex compiler to compile C++ bindings to MatLab
See: http://www.mathworks.com/support/tech-notes/1600/1605.html
Steps
Step 1) Download and untar the make3d files as follows (I assume everything is done in the home directory)
cd ~ mkdir make3d cd make3d mkdir params mkdir scratch wget http://ai.stanford.edu/~asaxena/reconstruction3d/Make3dSingleImageStanford_version0.1.tar.gz tar -xvzf Make3dSingleImageStanford_version0.1.tar.gz cd params wget http://ai.stanford.edu/~asaxena/reconstruction3d/MakedLearnedParameters_v0.1.tar.gz tar -xvzf MakedLearnedParameters_v0.1.tar.gz cd ..
Step 2) Set the default directories for loading/storing training data and scratch data
Since we don’t want to have to pass these as arguments every time we are just going to modify the “OneShot3dEfficient.m” file to store these as defaults.
Go to the make3d/LearningCode/Debug and open the file OneShot3dEfficient.m
You will see several lines like the following (around lines 72-87)
ScratchFolder = ['/afs/cs/group/reconstruction3d/scratch/IMStorage' ];
ParaFolder = '/afs/cs/group/reconstruction3d/scratch/Para/';
change them to:
ScratchFolder = ['~/make3d/scratch' ];
ParaFolder = '~/make3d/params/';
(i.e pointing to the two folders we made earlier)
Step 3) Generate the various mex needed:
cd to ~/make3d/LearningCode
run MatLab
in matlab type:
>> InitialPath(true)
This will generate all the .mex files needed for the program to run
Now you probably want to download a test image to the
~/make3d/LearningCode directory … do that then restart matlab
run:
>> InitialPath(false)
>> OneShot3dEfficient('yourimage.jpg','./')
You should see something like the following be outputted:
>> InitialPath(false)
>> OneShot3dEfficient('paris.jpg','./')
Starting with new optimization...
Default =
filename: {'_'}
ParaFolder: '~/make3d/params/'
OutPutFolder: './'
ScratchFolder: '~/make3d/scratch'
Flag: [1x1 struct]
0.027535 seconds.
Loading the image... 0.2733 seconds.
Creating Superpixels... 3.0314 seconds.
Creating Features and multiple segmentations... 32.9655 seconds.
Calculating superpixel-shape features... 33.6513 seconds.
Preparation for the Inference... 39.8886 seconds.
Starting Inference...
: Building Matrices.... 2.1074
: In 1st level Optimization, using new solver.(1/1,1/1) Success with alfa=1192.3985 Success with alfa=1635.6242 35.722
: Writing WRL.grid 0attach 0 In WRL, vertices=2567 triangles=4691
Finished Inference at: 79.5021 seconds.
Writing superpixels and image... 79.8306 seconds.
Done. Total time taken = 79.832 seconds.
>>
Thats all there is to it! You now have a .WRL file containing the outputted 3d model
Viewing the 3D WRL
There are many viewers to see the .WRL file. For example, you can install Cortonaviewer and view in Chrome or Firefox browser.
Make3D Convert your image into 3d model的更多相关文章
- 3d模型 手办制作 3d model manual production
3d模型 手办制作 3d model manual production 作者:韩梦飞沙 Author:han_meng_fei_sha 邮箱:313134555@qq.com E-mail: 313 ...
- QT Graphics-View 3D编程例子- 3D Model Viewer
学习在Graphics-View框架中使用opengl进行3D编程,在网上找了一个不错的例子“3D Model Viewer”,很值得学习. 可以在http://www.oyonale.com/acc ...
- WPF 3D model - Sphere, Cone, and Cylinder
原文:WPF 3D model - Sphere, Cone, and Cylinder Extending Visual3D - Sphere, Cone, and Cylinder http: ...
- ShapeNet: An Information-Rich 3D Model Repository 阅读笔记
ShapeNet: An Information-Rich 3D Model Repository 注:本论文只是讲述数据库建立方法 摘要 ShapeNet是一个有丰富注释的大型形状存储库,由对象的3 ...
- Using AlloyTouch to control three.js 3D model
As you can see, the above cube rotation, acceleration, deceleration stop all through the AlloyTouch ...
- submit form to convert to a Java Bean model.
实体类中无需构造函数. Since we haven’t specified a constructor, Java will provide a default constructor that w ...
- x01.gamelab: An Tank 3D Model
准备 1. 安装 OpenGL 及添加 python 引用参见我的置顶随笔. 2. 下载源代码: http://download.csdn.net/download/china_x01/1013310 ...
- 基于ACIS/HOOPS的3D应用开发简介 【转】
(整理) 平台: 造型引擎——ACIS 显示引擎——Direct3D/OpenGL/GDI 应用框架——HOOPS 组件关系图 ...
- AVEVA RVM to 3D PDF
AVEVA RVM to 3D PDF eryar@163.com RvmTranslator 3D PDF plugin can convert PDMS RVM files to 3D PDF w ...
随机推荐
- hbase大规模数据写入的优化历程
业务背景:由于需要将ngix日志过滤出来的1亿+条用户行为记录存入Hbase数据库,以此根据一定的条件来提供近实时查询,比如根据用户id及一定的时间段等条件来过滤符合要求的若干行为记录,满足这一场景的 ...
- Android开发之Path类使用详解,自绘各种各样的图形!
玩过自定义View的小伙伴都知道,在View的绘制过程中,有一个类叫做Path,Path可以帮助我们实现很多自定义形状的View,特别是配合xfermode属性来使用的时候.OK,那我们今天就来看看P ...
- x264源代码简单分析:宏块分析(Analysis)部分-帧内宏块(Intra)
===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...
- GC真正的垃圾:强、软、弱、和虚 对象
垃圾回收的基本思想就是判断一个对象是否可触及性,说白了就是判断一个对象是否可以访问,如果对象对引用了,说明对象正在被使用,如果发现对象没有被引用,说明对象已经不再使用了,不再使用的对象可以被回收,但是 ...
- LInux last命令详解
命令简介: 该命令用来列出目前与过去登录系统的用户相关信息.指令英文原义:show listing of last logged in users 执行权限 :有些需要特殊权限 指令所在路径: ...
- acm入门搜索-水池数目
水池数目 时间限制:3000 ms | 内存限制:65535 KB 难度:4 描述 校园里有一些小河和一些湖泊,现在,我们把它们通一看成水池,假设有一张我们学校的某处的地图,这个地图上仅标识了此处 ...
- 1082. Read Number in Chinese (25)
题目如下: Given an integer with no more than 9 digits, you are supposed to read it in the traditional Ch ...
- Dynamics CRM 2013 SP1 客户表单界面上联系人subgrid上的添加现有联系人功能缺失
CRM2013打了SP1的同学会发现一个问题,客户关联联系人的1:N关系,在表单subgrid中添加联系人时,只能新建而无法添加现有联系人,而这个现象在之前的版本中是没有的. 我们通过工具ribbon ...
- eclipse代码恢复(开发程序代码恢复)
如果误操作,让本地代码丢失了不用怕,Eclipse local history可以恢复. 误删除文件后,直接ctrl+z可以恢复. 拉去代码覆盖了本地,也可以一个一个或者整体进行恢复:http://b ...
- javascript 把时间戳转为时间 ajax HTML拼装
这个目的是记下来,好让我以后可以看一下,这个脚本可是反反复复写了我N天啊!! 全部写下,以备后用! Date.prototype.format = function(format) { var o = ...