diff --git a/src/aliceVision/camera/IntrinsicsScaleOffset.hpp b/src/aliceVision/camera/IntrinsicsScaleOffset.hpp index 69852c0e60..c0b876d27f 100644 --- a/src/aliceVision/camera/IntrinsicsScaleOffset.hpp +++ b/src/aliceVision/camera/IntrinsicsScaleOffset.hpp @@ -175,7 +175,24 @@ class IntrinsicsScaleOffset: public IntrinsicBase */ bool importFromParams(const std::vector& params, const Version & inputVersion) override { - if (!updateFromParams(params)) + std::vector paramsLocal; + if (inputVersion < Version(1, 2, 0)) + { + paramsLocal.resize(params.size() + 1); + paramsLocal[0] = params[0]; + paramsLocal[1] = params[0]; + + for (int i = 1; i < params.size(); i++) + { + paramsLocal[i + 1] = params[i]; + } + } + else + { + paramsLocal = params; + } + + if (!updateFromParams(paramsLocal)) { return false; } diff --git a/src/aliceVision/sfmDataIO/AlembicImporter.cpp b/src/aliceVision/sfmDataIO/AlembicImporter.cpp index 545a00d5f5..1feb396912 100644 --- a/src/aliceVision/sfmDataIO/AlembicImporter.cpp +++ b/src/aliceVision/sfmDataIO/AlembicImporter.cpp @@ -489,25 +489,7 @@ bool readCamera(const Version & abcVersion, const ICamera& camera, const M44d& m Alembic::Abc::IDoubleArrayProperty prop(userProps, "mvg_intrinsicParams"); Alembic::Abc::IDoubleArrayProperty::sample_ptr_type sample; prop.get(sample, ISampleSelector(sampleFrame)); - - if (abcVersion < Version(1,2,0)) // abcVersion < 1.2 - { - std::vector params; - params.assign(sample->get(), sample->get() + sample->size()); - - // Fx == Fy - mvg_intrinsicParams.push_back(params[0]); - mvg_intrinsicParams.push_back(params[0]); - - for (int i = 1; i < params.size(); i++) - { - mvg_intrinsicParams.push_back(params[i]); - } - } - else // abcVersion >= 1.2 - { - mvg_intrinsicParams.assign(sample->get(), sample->get()+sample->size()); - } + mvg_intrinsicParams.assign(sample->get(), sample->get()+sample->size()); } } }