From: <hug...@li...> - 2011-11-27 08:24:55
|
branch: details: http://hugin.hg.sourceforge.net/hgweb/hugin/hugin/hgrepo/h/hu/hugin/hugin/rev/6dbb7da8060d changeset: 5680:6dbb7da8060d user: tmodes date: Sun Nov 27 09:23:41 2011 +0100 description: Added translation parameters to align_image_stack Patch by Vladimir Nadvornik for alignment of stereoscopic images diffstat: src/tools/align_image_stack.cpp | 33 ++++++++++++++++++++++++++++++--- 1 files changed, 30 insertions(+), 3 deletions(-) diffs (83 lines): diff -r 26261143d8f2 -r 6dbb7da8060d src/tools/align_image_stack.cpp --- a/src/tools/align_image_stack.cpp Thu Nov 24 18:32:47 2011 +0100 +++ b/src/tools/align_image_stack.cpp Sun Nov 27 09:23:41 2011 +0100 @@ -85,6 +85,9 @@ << " Useful for aligning focus stacks with slightly different magnification." << std::endl << " -d Optimize radial distortion for all images, except for first." << std::endl << " -i Optimize image center shift for all images, except for first." << std::endl + << " -x Optimize X coordinate of the camera position." << std::endl + << " -y Optimize Y coordinate of the camera position." << std::endl + << " -z Optimize Z coordinate of the camera position." << std::endl << " Useful for aligning more distorted images." << std::endl << " -S Assume stereo images - allow horizontal shift of control points." << std::endl << " -A Align stereo window - assumes -S." << std::endl @@ -388,13 +391,16 @@ { cpErrorThreshold = 3; nPoints = 8; - grid = 5; + grid = 5; hfov = 0; pyrLevel = 1; - linear = false; // Assume linear input files if true + linear = false; // Assume linear input files if true optHFOV = false; optDistortion = false; optCenter = false; + optX = false; + optY = false; + optZ = false; stereo = false; stereo_window = false; pop_out = false; @@ -410,6 +416,9 @@ bool optHFOV; bool optDistortion; bool optCenter; + bool optX; + bool optY; + bool optZ; bool fisheye; bool stereo; bool stereo_window; @@ -600,6 +609,15 @@ vars.insert("d"); vars.insert("e"); } + if (param.optX) { + vars.insert("TrX"); + } + if (param.optY) { + vars.insert("TrY"); + } + if (param.optZ) { + vars.insert("TrZ"); + } optvars.push_back(vars); } delete leftImg; @@ -706,7 +724,7 @@ int main(int argc, char *argv[]) { // parse arguments - const char * optstring = "a:ef:g:hlmdiSAPCp:vo:s:t:c:"; + const char * optstring = "a:ef:g:hlmdiSAPCp:vo:s:t:c:xyz"; int c; opterr = 0; @@ -757,6 +775,15 @@ case 'i': param.optCenter = true; break; + case 'x': + param.optX = true; + break; + case 'y': + param.optY = true; + break; + case 'z': + param.optZ = true; + break; case 'S': param.stereo = true; break; |