|
CPPxDIC
C++ Digital Image Correlation library for fingertip 3D reconstruction
|
Interface for the mirrored-camera xDIC mode ("MNG" variant). More...
#include <opencv2/opencv.hpp>#include <string>#include <vector>Go to the source code of this file.
Classes | |
| struct | xdic::mirrored::ViewInfo |
| Logical view = (physical camera id, which half of that camera's frame). More... | |
| struct | xdic::mirrored::ViewPair |
| A mirrored stereopair: the two logical views to correlate against each other. More... | |
Namespaces | |
| namespace | xdic |
| namespace | xdic::mirrored |
Enumerations | |
| enum class | xdic::mirrored::MaskHalf { xdic::mirrored::Left = 1 , xdic::mirrored::Right = 2 } |
| Half-width mask region used to extract a single mirror view from a frame. More... | |
Functions | |
| ViewPair | xdic::mirrored::resolveViewPair (int stereopair, const std::vector< int > &cam_order) |
| Resolve the two views that form a given mirrored stereopair. | |
| cv::Mat | xdic::mirrored::extractViewFromFrame (const cv::Mat &frame, MaskHalf half) |
| Extract a single mirror view (full frame) from a decoded camera frame. | |
| bool | xdic::mirrored::importRawViewMirrored (const Config &config, int trial, const ViewInfo &view, int frameStart, int frameEnd, int frameJump, std::vector< std::string > &out_frames) |
| Decode a physical-camera video and write per-view masked frames to disk. | |
| bool | xdic::mirrored::run (const Config &config, const std::vector< int > &trials={}) |
| Run the mirrored-camera 2D DIC pipeline. | |
Interface for the mirrored-camera xDIC mode ("MNG" variant).
The mirrored mode reconstructs surface kinematics from a single physical camera that observes the specimen together with one or more mirrors, yielding multiple virtual viewpoints inside a single video frame. In the reference MATLAB project this corresponds to the MNG-prefixed steps:
Unlike the camerapairs mode (two physical cameras, one video each), the mirrored mode uses a binary mask over the image width to slice each physical-camera frame into per-mirror full-frame "views". With cam_order = [2 1 4 3] and a left/right half mask there are 4 physical cameras x 2 halves = 8 logical views, paired into 7 overlapping stereopairs (see get_cam_view_stereopair_param). Standard 2D DIC then runs on each extracted view exactly as in the camerapairs path.
Status: implemented. Compiled into cppxdic only when configured with -DXDIC_MODE=mirrored (which defines XDIC_MODE_MIRRORED).
Definition in file mirrored_mode.h.