Skip to content

Commit

Permalink
Merge branch 'develop' into develop_keypoint_orientation_sfm
Browse files Browse the repository at this point in the history
  • Loading branch information
rfabbri committed Nov 2, 2024
2 parents f4a7127 + e4f0c3d commit e0ece0c
Show file tree
Hide file tree
Showing 46 changed files with 306,626 additions and 311 deletions.
3 changes: 3 additions & 0 deletions .gitattributes
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# GitHub syntax highlighting
pixi.lock linguist-language=YAML

14 changes: 7 additions & 7 deletions .github/workflows/compile_and_run_test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: CI

on:
push:
branches: [main, master, develop]
branches: [main, master, develop, develop_keypoint_orientation_sfm]
pull_request:
branches: [main, master, develop]
branches: [main, master, develop, develop_keypoint_orientation_sfm]

# Allows you to run this workflow manually from the Actions tab
workflow_dispatch:
Expand Down Expand Up @@ -33,22 +33,22 @@ jobs:
-DOpenMVG_BUILD_TESTS=ON \
-DOpenMVG_BUILD_EXAMPLES=ON \
-DOpenMVG_BUILD_SOFTWARES=ON \
-DSCHUR_SPECIALIZATIONS=OFF \
-DTARGET_ARCHITECTURE=core
-DSCHUR_SPECIALIZATIONS=OFF
shell: bash

- name: Build
working-directory: ./build
run: |
if [ "$RUNNER_OS" == "Windows" ]; then
cmake --build . --config Release
cmake --build . --config Release --parallel 4
else
cmake --build . -- -j$(nproc)
cmake --build . -j$(getconf _NPROCESSORS_ONLN)
fi
shell: bash


- name: Unit Tests
working-directory: ./build
run: |
ctest -j$(nproc) --build-config Release
ctest -j$(getconf _NPROCESSORS_ONLN) --build-config Release
shell: bash
3 changes: 2 additions & 1 deletion .github/workflows/compile_and_run_test_external_deps.yml
Original file line number Diff line number Diff line change
Expand Up @@ -69,11 +69,12 @@ jobs:
- name: Build
working-directory: ./build
run: |
cmake --build . -- -j$(nproc)
cmake --build . -j$(nproc)
shell: bash


- name: Unit Tests
working-directory: ./build
run: |
ctest -j$(nproc) --build-config Release
shell: bash
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -13,3 +13,4 @@ build*
*.out
docs/openmvg.pdf
tags
.pixi
25 changes: 25 additions & 0 deletions BUILD.md
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,7 @@ Checking out the project and build it
- [Compiling on MacOS](#macos)
- [Compiling using VCPKG](#vcpkg)
- [Using Docker](#docker)
- [Using Pixi](#pixi)

Getting the project
--------------------
Expand Down Expand Up @@ -202,6 +203,30 @@ root@de138d2f6223:/# ls /
... dataset/ ...
```

Using Pixi
------------
<a name="pixi"></a>

[Pixi](https://pixi.sh/) enables you to have a contained environment to compile and run openMVG in a local folder for Linux and Mac platforms.

Install pixi and compile openMVG
```shell
$ git clone --recursive https://github.com/openMVG/openMVG.git
$ cd openMVG
$ curl -fsSL https://pixi.sh/install.sh | bash
$ pixi run build
```

Then running openMVG is as easy as running the pixi shell (here an example for Linux):
```shell
$ pixi shell
# Running one of the python script
$ python3 ./build/software/SfM/tutorial_demo.py
# Running one of OpenMVG binary
$ ./build/Linux-x86_64-Release/openMVG_main_SfMInit_ImageListing
```


Using OpenCV sample
--------------------

Expand Down
3 changes: 1 addition & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@ RUN apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y tzdata;
liblemon-dev \
libpng-dev \
libtiff-dev \
git \
python3-minimal; \
python3; \
apt-get autoclean && apt-get clean

# Clone the openvMVG repo
Expand Down
4 changes: 2 additions & 2 deletions dist/snap/snapcraft.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
# This recipe is known to work under Ubuntu 16.04 (yet, the generated .snap
# file will work on any Linux distribution having snap installed).
name: openmvg
version: '2.0-0'
version: '2.1-0'
summary: OpenMVG (open Multiple View Geometry)
description: |
OpenMVG (Multiple View Geometry) "open Multiple View Geometry" is a library
Expand Down Expand Up @@ -123,7 +123,7 @@ parts:
openmvg:
plugin: cmake
source: https://github.com/openMVG/openMVG.git
source-tag: v2.0
source-tag: v2.1
build-packages:
- build-essential
- libpng12-dev
Expand Down
3 changes: 3 additions & 0 deletions docs/sphinx/rst/bibliography.rst
Original file line number Diff line number Diff line change
Expand Up @@ -114,6 +114,9 @@ Bibliography
.. [Lee_BMVC19] **Triangulation: Why Optimize?**
S.H. Lee, J. Civera. BMVC 2019.
.. [Ding] **Revisiting the P3P Problem.**
Y Ding, J Yang, V Larsson, C Olsson, K Åström. CVPR 2023.
.. [Ceres] **Ceres Solver.**
Sameer Agarwal and Keir Mierle and Others, http://ceres-solver.org
Expand Down
8 changes: 4 additions & 4 deletions docs/sphinx/rst/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -56,16 +56,16 @@

# General information about the project.
project = u'openMVG'
copyright = u'2013-2021, OpenMVG authors'
copyright = u'2013-2023, OpenMVG authors'

# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
# built documents.
#
# The short X.Y version.
version = '2.0'
version = '2.1'
# The full version, including alpha/beta/rc tags.
release = '2.0'
release = '2.1'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down Expand Up @@ -280,7 +280,7 @@
epub_title = u'openMVG'
epub_author = u'openMVG authors'
epub_publisher = u'Pierre MOULON & al.'
epub_copyright = u'2013-2021, openMVG authors'
epub_copyright = u'2013-2023, openMVG authors'

# The basename for the epub file. It defaults to the project name.
#epub_basename = u'openMVG'
Expand Down
3 changes: 2 additions & 1 deletion docs/sphinx/rst/openMVG/multiview/multiview.rst
Original file line number Diff line number Diff line change
Expand Up @@ -125,8 +125,9 @@ openMVG provides 4 different solvers for this problem:

* 6pt Direct Linear Transform [HZ]_,
* 3pt with intrinsic P3P [Ke]_,
* 3pt with intrinsic P3P [Kneip]_.
* 3pt with intrinsic P3P [Kneip]_,
* 3pt with intrinsic P3P [Nordberg]_,
* 3pt with intrinsic P3P [Ding]_.

Kernel concept
---------------------
Expand Down
24 changes: 24 additions & 0 deletions pixi.toml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
[project]
name = "openMVG"
version = "0.1.0"
description = "openMVG 'open Multiple View Geometry' library. Basis for 3D computer vision and Structure from Motion."
authors = ["OpenMVG Team<[email protected]>"]
channels = ["conda-forge"]
platforms = ["linux-64", "osx-arm64", "osx-64"]
repository = "https://github.com/openMVG/openMVG"

[tasks]
clean = { cmd = "rm -rf build " }
print-env = { cmd = "echo $PATH" }
configure = "cmake -B build -S ./src -DOpenMVG_BUILD_TESTS:BOOL=ON"
build = { cmd = "cmake --build build -j 4", depends_on = ["configure"] }
test = { cmd = "cd build; ctest -j", depends_on = ["build"] }

[dependencies]
ceres-solver = "2.2.0.*"
libjpeg-turbo = "3.0.0.*"
cmake = "3.28.1.*"
cxx-compiler = "1.7.0.*"
libpng = "1.6.39.*"
zlib = "1.2.13.*"
libtiff = "4.6.0.*"
Loading

0 comments on commit e0ece0c

Please sign in to comment.