Skip to content

Commit

Permalink
[build] fix for tiny for warning detected by @rperrot
Browse files Browse the repository at this point in the history
  • Loading branch information
pmoulon committed Oct 5, 2015
1 parent 61a32d7 commit f0889f0
Show file tree
Hide file tree
Showing 3 changed files with 7 additions and 6 deletions.
4 changes: 2 additions & 2 deletions src/cmakeFindModules/OptimizeForArchitecture.cmake
Expand Up @@ -41,8 +41,8 @@ macro(AutodetectHostArchitecture)
if(_vendor_id STREQUAL "GenuineIntel")
if(_cpu_family EQUAL 6)
# Any recent Intel CPU except NetBurst
if(_cpu_model EQUAL 70) #intel core i7-3720qm MacBook Pro Retina
set(TARGET_ARCHITECTURE "ivy-bridge")
if(_cpu_model EQUAL 70) #intel haswell
set(TARGET_ARCHITECTURE "haswell")
elseif(_cpu_model EQUAL 69) # Core i5/i7-4xxxU CPUs
set(TARGET_ARCHITECTURE "haswell")
elseif(_cpu_model EQUAL 63) # Xeon E5 series
Expand Down
3 changes: 2 additions & 1 deletion src/openMVG/image/image_io.cpp
Expand Up @@ -586,7 +586,8 @@ int ReadTiff(const char * filename,
}
} else {
for (size_t i=0; i<TIFFNumberOfStrips(tiff); ++i) {
if (TIFFReadEncodedStrip(tiff, i, ((uint8*)&((*ptr)[0]))+i*TIFFStripSize(tiff),(tsize_t)-1)<0) {
if (TIFFReadEncodedStrip(tiff, i, ((uint8*)&((*ptr)[0]))+i*TIFFStripSize(tiff),(tsize_t)-1) ==
std::numeric_limits<tsize_t>::max()) {
TIFFClose(tiff);
return 0;
}
Expand Down
6 changes: 3 additions & 3 deletions src/openMVG/matching/kvld/kvld.h
Expand Up @@ -112,11 +112,11 @@ class VLD
{
for( int j = 0; j < subdirection; j++ )
{// term of descriptor
diff[ 0 ] += abs( descriptor[ i * subdirection + j ] - vld2.descriptor[ i * subdirection + j ] );
diff[ 0 ] += std::abs( descriptor[ i * subdirection + j ] - vld2.descriptor[ i * subdirection + j ] );
}
//term of main SIFT like orientation
diff[ 1 ] += std::min( abs( principleAngle[ i ] - vld2.principleAngle[ i ] ),
binNum - abs( principleAngle[ i ] - vld2.principleAngle[ i ] ) ) * ( weight[ i ] + vld2.weight[ i ] );// orientation term
diff[ 1 ] += std::min( std::abs( principleAngle[ i ] - vld2.principleAngle[ i ] ),
binNum - std::abs( principleAngle[ i ] - vld2.principleAngle[ i ] ) ) * ( weight[ i ] + vld2.weight[ i ] );// orientation term
}

diff[ 0 ] *= 0.36;
Expand Down

27 comments on commit f0889f0

@jackpaster
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm having trouble opening the project, can you help me

@pmoulon
Copy link
Member Author

@pmoulon pmoulon commented on f0889f0 Apr 4, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please follow the build rules explained here: https://github.com/openMVG/openMVG/blob/master/BUILD

@pmoulon
Copy link
Member Author

@pmoulon pmoulon commented on f0889f0 Apr 4, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

If you can provide more detail on what you are trying to do we will be able to provide a better help.

@jackpaster
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

So I have about 50 photos and I cant open and run the software through the build to transform them. By the way can you mesh and texturize the photos or points with this software once the 3d model is generated.

@jackpaster
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

do you think you can help me

@rperrot
Copy link
Contributor

@rperrot rperrot commented on f0889f0 Apr 4, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please create a new issue :

https://github.com/openMVG/openMVG/issues

You won't get any answer in this thread.

@jackpaster
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can this software create meshes and textures once the 3d model is made

@pmoulon
Copy link
Member Author

@pmoulon pmoulon commented on f0889f0 Apr 4, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jackpaster In order to run the OpenMVG toolchain you have ready to use python script:
see here https://openmvg.readthedocs.org/en/latest/software/SfM/SfM/#openmvg-sfm-pipelines-demo
In order to create meshes and textures you can use many third party software on OpenMVG results thanks to the various exporter (MVE/OpenMVS...)

@jackpaster
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

which software can I use, and does openmvg only create the points from the photos

@jackpaster
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

can you help me out with an answer

@pmoulon
Copy link
Member Author

@pmoulon pmoulon commented on f0889f0 Apr 5, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Running the python script will launch all the required binary for you on your image directory. It will provide you a point cloud and camera position and some PLY file (in order to see the reconstructed scene)

$ cd openMVG_Build/software/SfM/
$ python SfM_SequentialPipeline.py [full path image directory] [resulting directory]
$ python SfM_SequentialPipeline.py ~/home/user/data/ImageDataset_SceauxCastle/images ~/home/user/data/ImageDataset_SceauxCastle/Castle_Incremental_Reconstruction

$ python SfM_GlobalPipeline.py [full path image directory] [resulting directory]

=> Then in order to compute dense models just go along the doc https://openmvg.readthedocs.org/en/latest/software/MVS/MVS/

@jackpaster
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

https://openmvg.readthedocs.org/en/latest/software/MVS/MVS/

does this link to the software help me compute texturizations and meshes

@pmoulon
Copy link
Member Author

@pmoulon pmoulon commented on f0889f0 Apr 6, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes it explains how to export OpenMVG computed data to those third party softwares

@jackpaster
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

so openmvg just generates the points from the multiple images

@rperrot
Copy link
Contributor

@rperrot rperrot commented on f0889f0 Apr 6, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"just" ? That's maybe one of the hardest thing to do ! Please respect the time spend on the project to provide a state of the art solution to a hard problem.

openMVG helps you to provide camera positions and orientations from unstructured images, it also produces a sparse point cloud related to the scene. Once you have all these infos, you can use other tools (openMVS, MVE, CMVS/PMVS) to produce a denser point cloud.

Just read the documentation, everything is clearly explained. Moreover openMVG gives you nice scripts to run everything in a single step.

@jackpaster
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

look I respect what you guys have done, I've ripped my hair out trying to find a software that provides this function and I'm thankful that you guys have done it, I just want more information to see if what I have found is what I think it is and if I can implement it into my software.

@jackpaster
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thank you for creating this software, also do you know what language openmvg and openmvs are written in

@rperrot
Copy link
Contributor

@rperrot rperrot commented on f0889f0 Apr 6, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

C++

@jackpaster
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What do you mean when you talk about camera positions and orientations

@pmoulon
Copy link
Member Author

@pmoulon pmoulon commented on f0889f0 Apr 6, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Stereo"-Photogrammetry consists in many steps:
For each image you find a camera position & orientation (Multiple View Geometry)
Then from those poses you can compute dense representation (point cloud and meshes) it what is called MVS Multiple View Sterevision.

@jackpaster
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

imagesinput

would something like this be computed in openmpg or opem mvs

@jackpaster
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thats what I mean when I talk about points and pictures. The openmpg computes a rough 3d model like this from the entered images and openmvs handles 3d textures and meshes to produce something refined like this

dense_front

@jackpaster
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

am I understanding the concept behind the two softwares that you have developed

@pmoulon
Copy link
Member Author

@pmoulon pmoulon commented on f0889f0 Apr 6, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here some screenshot of the various step of the process
https://github.com/cdcseacave/openMVS/wiki/Usage

Here some info:
image

image

Extracted from a recent OpenMVG tutorial: http://imagine.enpc.fr/~moulonp/external/sfpt/Tutoriel_OpenMVG_SFPT-2016.pdf

@jackpaster
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

thank you

@jackpaster
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can I upload as many photos as I want and the openmvg will do the rest in terms of image structure and binding the photos

@pmoulon
Copy link
Member Author

@pmoulon pmoulon commented on f0889f0 Apr 7, 2016

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

You can share your dataset here openmvg-team[AT]googlegroups.com and I will share back the result to you

Please sign in to comment.