Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

No, that is not right. If you need a confirm, you can look at the very beginning of the tutorial, where the printUsage() function is. Right after, you can see the default setting is xxxxx.

The refinement mask contains five parameters (in this order):

<fx>
<skew>
<ppx>
<aspect>
<ppy>

if set to x the parameter is corrected by the adjuster (if the adjuster can do so, otherwise the parameter is skipped).

No, that is not right. If you need a confirm, you can look at the very beginning of the tutorial, where the printUsage() function is. Right after, you can see the default setting is xxxxx.

The refinement mask contains five parameters (in this order):

<fx>
<skew>
<ppx>
<aspect>
<ppy>

if set to x the parameter is corrected by the adjuster (if the adjuster can do so, otherwise the parameter is skipped).

As you are stating, thanks for having the patience to discuss this, even if the <skew> parameter is set in the stitching_detailed tutorial, only BundleAdjusterReproj, out of all the types of BundleAdjusters actually cares for the values of the mask, and it does not take into account the <skew> possibility.

Thus yes, the parameter is set, but actually not used by any class.

No, that is not right. If you need a confirm, you can look at the very beginning of the tutorial, where the printUsage() function is. Right after, you can see the default setting is xxxxx.

The refinement mask contains five parameters (in this order):

<fx>
<skew>
<ppx>
<aspect>
<ppy>

if set to x the parameter is corrected by the adjuster (if the adjuster can do so, otherwise the parameter is skipped).

As you are stating, thanks for having the patience to discuss this, even if the <skew> parameter is set in the stitching_detailed tutorial, only BundleAdjusterReproj, out of all the types of BundleAdjusters actually cares for the values of the mask, and it does not take into account the <skew> possibility.

Thus yes, the parameter is set, but actually not used by any class.


Some more thoughts: the BundleAdjusterRay description opens a way of possible future implementation of the refine_mask. That was true in opencv 2.4 and it is still the same in opencv 3.1 documentation.

In Line 172 of motion_estimators.hpp, the file from where the documentation is derived, the refinement_mask is described by a 3x3 matrix. That is not right, right? Shouldn't it be a 2x3, instead? Am I missing something now?