QtAliceVision is a C++ plugin providing:
- classes to load and visualize AliceVision and Alembic data through QML
- an OpenImageIO backend for image IO in Qt.
Currently available:
- Features Viewer
- Position, scale and orientation
- Status: extracted, matched or reconstructed
- Matches Viewer
- Statistics
- Per view statistics with reprojection error, observations histograms
- Global SfM statistics with number of landmarks/matches, reprojection errors, observations per view
- Float Image Viewer
- Visualize images with floating point precision
- Dynamically adjust gain and gamma
- 3D Depth Maps
- Visualize depth/sim maps generated by the AliceVision framework in a 3D viewer
- Alembic 3D visualization
- Point clouds
- Cameras
- OIIO backend
- Read RAW images from DSLRs
- Read intermediate files of the AliceVision framework stored in EXR format
The project is released under MPLv2, see COPYING.md.
Get the source code:
git clone --recursive git://github.com/alicevision/QtAliceVision
cd QtAliceVision
See INSTALL.md to build and install the project.
Once built and with the plugin installation folder in QML2_IMPORT_PATH
:
- Create an
MSfMData
object to get access to the SfM information:
import AliceVision 1.0
MSfMData {
id: sfmData
sfmDataPath: "/path/to/SfM/sfmData.abc”
}
- Create an
MTracks
to load all matches and get access to tracks information:
import AliceVision 1.0
MTracks {
id: tracks
matchingFolder: "/path/to/FeatureMatching/UID/”
}
- Create a
FeaturesViewer
to visualize features position, scale, orientation and optionally information about the feature status regarding tracks and SfmData.
FeaturesViewer {
colorOffset: 0
describerType: "sift"
featureFolder: "/path/to/features/folder"
mTracks: tracks
viewId: 101245654
color: “blue”
landmarkColor: “red”
displayMode: FeaturesViewer.Points
mSfmData: sfmData
}
- Create an
MSfMDataStats
to display global statistics about your SfMData:
MSfMDataStats {
msfmData: msfmData
mTracks: mTracks
}
- Create an
MViewStats
to display statistics about a specific View of your SfMData:
MViewStats {
msfmData: msfmData
viewId: 451244710
}
- Create a
FloatImageViewer
to display an image with floating point precision, allowing to dynamically adjust the gain and gamma:
FloatImageViewer {
source: "/path/to/image"
gamma: 1.0
gain: 1.0
width: textureSize.width || 500
height: textureSize.height || 500
channelMode: "RGB"
}
- Create a
DepthMapEntity
to display a depth map as a point cloud in a 3D viewer:
import DepthMapEntity 1.0
Scene3D {
DepthMapEntity {
source: "depthmap.exr"
}
}
- Create a
SfmDataEntity
to display point clouds (in .abc, .sfm or .json format) and cameras in a 3D viewer:
import SfmDataEntity 1.0
Scene3D {
SfmDataEntity {
source: "/path/to/pointcloud.sfm"
}
}
When added to the QT_PLUGIN_PATH
, all supported image files will be loaded through this plugin.