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 ...
随机推荐
- linux找不到动态链接库 .so文件的解决方法(转自:http://www.cnblogs.com/xudong-bupt/p/3698294.html)
linux找不到动态链接库 .so文件的解决方法 如果使用自己手动生成的动态链接库.so文件,但是这个.so文件,没有加入库文件搜索路劲中,程序运行时可能会出现找不到动态链接库的情形. 可以通过ldd ...
- 源码篇——Handler消息机制
Handler消息机制 Message 消息 Message.obtain() Message msg = new Message() Handler new Handler(){ handlerMe ...
- socket系列之什么是socket
1.什么是socket Socket是应用层与TCP/IP协议族通信的中间抽象层,它是一组接口,应用层通过调用这些接口实现发送和接收数据.一般这种抽象层由操作系统提供或者由JVM自己实现.使用sock ...
- Unity UGUI图文混排(五) -- 一张图集对应多个Text
继上一篇说的更新了一张图集对应多个Text的功能,为了节省资源嘛 这里,但是也没有舍弃之前的一个Text一个图集,因为我感觉应该两个都有用,于是我重新写了一个脚本 1.其实大体跟前面的都没变,解析标签 ...
- Cocos2D在新版Swift中常量枚举值引用代码的修改
大熊猫猪·侯佩原创或翻译作品.欢迎转载,转载请注明出处. 如果觉得写的不好请多提意见,如果觉得不错请多多支持点赞.谢谢! hopy ;) 我们知道在SpriteBuilder中是无法直接给一个CCB文 ...
- C语言与java语言中数据类型的差别总结
在学习java的时候,看到char ch = '男' ; 我就觉得很奇怪,char类型不是占用一个字节吗?为什么定义成一个汉字被说成是一个字符了? 原来,在C语言中,char在32位操作系统下占用1 ...
- android插件开发机制
插件机制实质上就是由主体程序定义接口,然后由插件去实现这些接口,以达到功能模块化.Android系统是基于Linux内核的,其安全机制也继承了Linux的特性,再加上android framework ...
- 06 Activity显示跳转
<span style="font-size:18px;">package com.fmy.day8_29task; import com.fmy.day8_29tas ...
- 论文系统Step1:从日志记录中提取特定信息
论文系统Step1:从日志记录中提取特定信息 前言 论文数据需要,需要实现从服务器日志中提取出用户的特定交互行为信息.日志内容如下: 自己需要获取"请求数据包一行的信息"及&quo ...
- Ajax及jQuery学习
AJAX(Asynchronous JavaScript and XML),异步的javaScript与XML AJax中一个重要的对象是XMLHttpRequest. function ajaxSu ...