yang-h / panoramix Goto Github PK
View Code? Open in Web Editor NEWCode of my CVPR'16 paper: "Efficient 3D Room Shape Recovery From a Single Panorama."
Home Page: http://cgcad.thss.tsinghua.edu.cn/yanghao/3droom/
Code of my CVPR'16 paper: "Efficient 3D Room Shape Recovery From a Single Panorama."
Home Page: http://cgcad.thss.tsinghua.edu.cn/yanghao/3droom/
Hi Yang:
I'm very impressive about your work. But I meet a problem when I try to build your project by myself. I follow your instruction to Configure and Generate the build by CMake. But I stuck on
Generate model:
CMake Error: Error required internal CMake variable not set, cmake may not be built correctly.
Missing variable is:
CMAKE_C_COMPILE_OBJECT
CMake Error: Error required internal CMake variable not set, cmake may not be built correctly.
Missing variable is:
CMAKE_C_CREATE_STATIC_LIBRARY
CMake Error: Error required internal CMake variable not set, cmake may not be built correctly.
Missing variable is:
CMAKE_C_COMPILE_OBJECT
CMake Error: Error required internal CMake variable not set, cmake may not be built correctly.
Missing variable is:
CMAKE_C_COMPILE_OBJECT
Generating done
How do I set thos variable to make Generate finish?
部分约束连接没有连在相关直线段的最近点对上
譬如连接的权重、变量、方向约束等如何在 MixedGraph and MixedGraphPropertyTable 中分配更好?
Hi,
I have trouble of showgui during executing the function 'RunPanoramaReconstruction'.
I have installed everything as you told.
The error is as followed:
Have -858993460 buffers and -858993460 samples
QOpenGLShader::compile(Vertex): ERROR: 0:1: '130' : version number not supported
ERROR: 0:6: 'isSelected' : syntax error
*** Problematic Vertex shader source code ***
#version 130
#line 2
attribute highp vec3 position;
attribute highp vec3 normal;
attribute highp vec4 color;
attribute lowp vec2 texCoord;
attribute uint isSelected;
uniform highp mat4 viewMatrix;
uniform highp mat4 modelMatrix;
uniform highp mat4 projectionMatrix;
varying highp vec3 pixelPosition;
varying highp vec3 pixelNormal;
varying highp vec4 pixelColor;
varying lowp float pixelSelection;
void main(void)
{
pixelPosition = position.xyz;
pixelNormal = normal;
pixelColor = color;
gl_Position = projectionMatrix * viewMatrix * modelMatrix * vec4(position, 1
.0);
pixelSelection = isSelected == 0u ? 0.0 : 1.0;
}
"ERROR: 0:1: '130' : version number not supported\nERROR: 0:6: 'isSelected' : sy
ntax error \n"
QOpenGLShader::compile(Fragment): ERROR: 0:1: '130' : version number not support
ed
*** Problematic Fragment shader source code ***
#version 130
#line 2
uniform sampler2D tex;
uniform lowp float bwColor;
uniform lowp float bwTexColor;
uniform highp vec3 panoramaCenter;
uniform highp float panoramaHoriCenterRatio;
uniform highp float panoramaAspectRatio;
varying highp vec3 pixelPosition;
varying highp vec3 pixelNormal;
varying highp vec4 pixelColor;
varying lowp float pixelSelection;
void main(void)
{
highp vec3 direction = pixelPosition - panoramaCenter;
highp float longi = atan(direction.y, direction.x);
highp float lati = asin(direction.z / length(direction));
highp float globalx = longi / 3.1415926535897932 / 2.0 + 0.5;
highp float globaly = - lati / 3.1415926535897932 + 0.5;
highp float texx = globalx;
highp float texy = (globaly / 2.0 - (0.25 - panoramaHoriCenterRatio * panor
amaAspectRatio)) / panoramaAspectRatio;
if(texy < 0.0 || texy > 1.0){ discard; }
highp vec2 texCoord = vec2(texx, texy);
lowp vec4 texColor = texture2D(tex, texCoord);
gl_FragColor = (pixelColor * bwColor + texColor * bwTexColor) / (bwCol
or + bwTexColor);
gl_FragColor.a = 1.0 - pixelSelection * 0.5;
}
"ERROR: 0:1: '130' : version number not supported\n"
""
QOpenGLShader::compile(Vertex): ERROR: 0:1: '130' : version number not supported
ERROR: 0:6: 'isSelected' : syntax error
*** Problematic Vertex shader source code ***
#version 130
#line 2
attribute highp vec4 position;
attribute highp vec3 normal;
attribute lowp vec4 color;
attribute lowp vec2 texCoord;
attribute uint isSelected;
uniform highp mat4 viewMatrix;
uniform highp mat4 modelMatrix;
uniform highp mat4 projectionMatrix;
varying lowp vec4 pixelColor;
varying lowp vec2 pixelTexCoord;
varying lowp float pixelSelection;
void main(void)
{
gl_Position = projectionMatrix * viewMatrix * modelMatrix * position;
pixelColor = color;
pixelTexCoord = texCoord;
pixelSelection = isSelected == 0u ? 0.0 : 1.0;
}
I am not familiar with openGL Why the "isSelected" is syntax error?
Any reply will be helpful. thanks
现有算法识别的 intersection/incidence 约束不能涵盖实际场景的大多数情况。
考虑如下常见情况:
可能的方案:
假定每个独立直线段集合底部皆与相同地平面相接,如此则可以建立其底部端点相互之间的水平约束。
1.1 然而也许会存在很多情况使得物体底部识别不完整,譬如室外楼房底端经常被其它(非Manhattan)物体遮挡,因此我们很难获取正确的底部端点投影位置。
使用尽可能简单的交互来指定其关系。
需要获取多个场景定点照片数据集,包括至少2个室内场景和2个室外场景。
要求:
rtree.h line:1454 ASSERT(!a_parVars->m_taken[a_index]); 断言错误
Hello YANG,
no makefile was generated after I did cmake. this are the files in my build folder:
$(Configuration)/
CMAKEFILES/
executable/
panoramix/
thirdparty/
ALL_BUILD.vcxproj
ALL_BUILD.vcxproj.filters
cmake_install.cmake
CMakeCache.txt
Panoramix.sln
ZERO_CHECK.vcxproj
ZERO_CHECK.vcxproj.filters
I don't kown what' wrong.
Hi,
I cant understand the procedure of rendering 3d model. And I have some questions.
1.
The VisualizeReconstructionCompact function takes the zoomed panorama as texture and pass it to the glsl
gui::ResourceStore::set("texture", reversedIm);
I'd like to know where the texture is stored in the PredefinedShaderSource function of shader.cpp.
The compactPolygons vector in VisualizeReconstructionCompact contains the vertex and plane information to reconstruct the 3D model.
And the XPanorama as self-defined shader,
viz.begin(compactPolygons /, sppCallbackFun/)
.shaderSource(gui::OpenGLShaderSourceDescriptor::XPanorama)
.resource("texture")
.end();
However, I cant find the correspondence between cpu variables and glsl variables.
E.g.
In the array
static const std::pair<std::string, std::string> xPanoramaShaderSource
what is viewMatrix ,modelMatrix and projectionMatrix?
What's the meaning of gl_Position in the main function?
Can you make brief description about the way to assemble or integrate the geometry data (obj file) with texture data ( zoomed panorama images) in glsl manner?
Hi,
I have closed the showgui options due to lack of gpu. and I have got obj and mat output file at present.
I dont understand the usage of depth, planes and segs in the output mat file.
1.depth
the size of depth mat is quite similar with the size of panorama images.
the value of the mat ranges from 0.57 to 1.5 maybe.
I'd like to know its physical meaning. what's the relation between depth here and space depth?
What's the correspondence between panorama pixels and depth here?
3.segs
Dose segs represent the superpixels label? why is the size of this matrix quite similar with the size of panorama images?
May I have your webchart ID?
Hello,
I was trying to get your code to run. After setting up everything as instructed, I was able to start up the program. For the first 2 runs, it gave the outputs till the superpixel segmentation, but then started crashing. As a result I was unable to get till the depth estimation. Strangely, after those two runs the program has started to crash even before showing any output that it was showing before. In both cases the console had the following errors:
file "E:/Panoramix/cache\Panorama\E..Projects.Pano3D.Panoramix.testdata.indoor_pano1_jpg_LayoutVersion0_on_on_on_off_off_off_off_options.cereal" saved
file "E:/Panoramix/cache\Panorama\E..Projects.Pano3D.Panoramix.testdata.indoor_pano1_jpg_LayoutVersion0_on_on_on_off_off_off_off_report.cereal" saved
file "E:/Panoramix/cache\Panorama\E..Projects.Pano3D.Panoramix.testdata.indoor_pano1_jpg_LayoutVersion0_on_on_on_off_off_off_off_preparation.cereal" loaded
file "E:/Panoramix/cache\Panorama\E..Projects.Pano3D.Panoramix.testdata.indoor_pano1_jpg_hcamsgcs_16_500_500_200.cereal" cannot be loaded!
[Message when executing '[~, ~, slabelConfMap] = gc(im);']:
Undefined function 'gc' for input arguments of type 'uint8'.
OpenCV Error: Assertion failed (!fixedType() || ((Mat*)obj)->type() == mtype) in cv::_OutputArray::create, file C:\build\master_winpack-build-win64-vc14\opencv\modules\core\src\matrix.cpp, line 2246
I am running on Windows 10, Visual Studio Community 2015 and MATLAB 2016a. Hope you can make sense of what's going wrong here.
请问是不是只有在wins下的vs 2015下才可以用?可以在ubuntu下使用吗?
如在 core::MinimumSpanningTree 方法中,当前使用 :
然而上述命名方法皆不够直观,需要依赖注释来进行额外说明。
我们需要一种更加规范的命名方式,能够尽可能直接指明某一个参数类型的性质与用法。
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.