kopia lustrzana https://github.com/OpenDroneMap/ODM
rodzic
66bcc8c517
commit
8abd42b42f
|
@ -1330,8 +1330,8 @@ void Georef::performFinalTransform(Mat4 &transMat, pcl::TextureMesh &mesh, pcl::
|
||||||
double transX = static_cast<double>(transMat.r1c4_);
|
double transX = static_cast<double>(transMat.r1c4_);
|
||||||
double transY = static_cast<double>(transMat.r2c4_);
|
double transY = static_cast<double>(transMat.r2c4_);
|
||||||
|
|
||||||
transform(0, 3) = static_cast<double>(0.0f);
|
transform(0, 3) = transX;
|
||||||
transform(1, 3) = static_cast<double>(0.0f);
|
transform(1, 3) = transY;
|
||||||
transform(2, 3) = static_cast<double>(transMat.r3c4_);
|
transform(2, 3) = static_cast<double>(transMat.r3c4_);
|
||||||
transform(3, 3) = static_cast<double>(transMat.r4c4_);
|
transform(3, 3) = static_cast<double>(transMat.r4c4_);
|
||||||
|
|
||||||
|
@ -1367,20 +1367,14 @@ void Georef::performFinalTransform(Mat4 &transMat, pcl::TextureMesh &mesh, pcl::
|
||||||
log_ << "Successfully saved model.\n";
|
log_ << "Successfully saved model.\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
transform(0, 3) = transX;
|
|
||||||
transform(1, 3) = transY;
|
|
||||||
|
|
||||||
// GCPs and EXIF modes includes a translation
|
// GCPs and EXIF modes includes a translation
|
||||||
// but not UTM offsets. We want our point cloud
|
// but not UTM offsets. We want our point cloud
|
||||||
// and odm_georeferencing_model_geo.txt file
|
// and odm_georeferencing_model_geo.txt file
|
||||||
// to include the UTM offset.
|
// to include the UTM offset.
|
||||||
// OpenSfM already has UTM offsets
|
// OpenSfM already has UTM offsets
|
||||||
if (addUTM){
|
if (addUTM){
|
||||||
georefSystem_.eastingOffset_ += transX;
|
transform(0, 3) = georefSystem_.eastingOffset_ + transX;
|
||||||
georefSystem_.northingOffset_ += transY;
|
transform(1, 3) = georefSystem_.northingOffset_ + transY;
|
||||||
|
|
||||||
transform(0, 3) = georefSystem_.eastingOffset_;
|
|
||||||
transform(1, 3) = georefSystem_.northingOffset_;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
printFinalTransform(transform);
|
printFinalTransform(transform);
|
||||||
|
|
|
@ -60,11 +60,15 @@ class ODMGeoreferencingCell(ecto.Cell):
|
||||||
runs = []
|
runs = []
|
||||||
|
|
||||||
if not args.use_3dmesh:
|
if not args.use_3dmesh:
|
||||||
runs += [{
|
# Make sure 2.5D mesh is georeferenced before the 3D mesh
|
||||||
|
# Because it will be used to calculate a transform
|
||||||
|
# for the point cloud. If we use the 3D model transform,
|
||||||
|
# DEMs and orthophoto might not align!
|
||||||
|
runs.insert(0, {
|
||||||
'georeferencing_dir': tree.odm_25dgeoreferencing,
|
'georeferencing_dir': tree.odm_25dgeoreferencing,
|
||||||
'texturing_dir': tree.odm_25dtexturing,
|
'texturing_dir': tree.odm_25dtexturing,
|
||||||
'model': os.path.join(tree.odm_25dtexturing, tree.odm_textured_model_obj)
|
'model': os.path.join(tree.odm_25dtexturing, tree.odm_textured_model_obj)
|
||||||
}]
|
})
|
||||||
|
|
||||||
for r in runs:
|
for r in runs:
|
||||||
odm_georeferencing_model_obj_geo = os.path.join(r['texturing_dir'], tree.odm_georeferencing_model_obj_geo)
|
odm_georeferencing_model_obj_geo = os.path.join(r['texturing_dir'], tree.odm_georeferencing_model_obj_geo)
|
||||||
|
|
|
@ -69,7 +69,8 @@ class ODMOrthoPhotoCell(ecto.Cell):
|
||||||
# TODO: we should move this to a more central
|
# TODO: we should move this to a more central
|
||||||
# location (perhaps during the dataset initialization)
|
# location (perhaps during the dataset initialization)
|
||||||
if georef and not georef.utm_east_offset:
|
if georef and not georef.utm_east_offset:
|
||||||
odm_georeferencing_model_txt_geo_file = os.path.join(tree.odm_georeferencing, tree.odm_georeferencing_model_txt_geo)
|
georeferencing_dir = tree.odm_georeferencing if args.use_3dmesh and not args.skip_3dmodel else tree.odm_25dgeoreferencing
|
||||||
|
odm_georeferencing_model_txt_geo_file = os.path.join(georeferencing_dir, tree.odm_georeferencing_model_txt_geo)
|
||||||
|
|
||||||
if io.file_exists(odm_georeferencing_model_txt_geo_file):
|
if io.file_exists(odm_georeferencing_model_txt_geo_file):
|
||||||
georef.extract_offsets(odm_georeferencing_model_txt_geo_file)
|
georef.extract_offsets(odm_georeferencing_model_txt_geo_file)
|
||||||
|
|
Ładowanie…
Reference in New Issue