kopia lustrzana https://github.com/OpenDroneMap/ODM
rodzic
08fcb03f22
commit
cb6835d1bc
|
@ -3,7 +3,7 @@ if sys.platform != 'win32':
|
||||||
print("This script is for Windows only! Use configure.sh instead.")
|
print("This script is for Windows only! Use configure.sh instead.")
|
||||||
exit(1)
|
exit(1)
|
||||||
if sys.version_info.major != 3 or sys.version_info.minor != 8:
|
if sys.version_info.major != 3 or sys.version_info.minor != 8:
|
||||||
print("You neeed to use Python 3.8.x (due to the requirements.txt). You are using %s instead." % platform.python_version())
|
print("You need to use Python 3.8.x (due to the requirements.txt). You are using %s instead." % platform.python_version())
|
||||||
exit(1)
|
exit(1)
|
||||||
|
|
||||||
import argparse
|
import argparse
|
||||||
|
|
|
@ -103,7 +103,7 @@ def writeMetadata(filename, format3d):
|
||||||
'--stereo='+format3d,
|
'--stereo='+format3d,
|
||||||
filename,
|
filename,
|
||||||
filename+'.injected'])
|
filename+'.injected'])
|
||||||
# check metadata injector was succesful
|
# check metadata injector was successful
|
||||||
if os.path.exists(filename+'.injected'):
|
if os.path.exists(filename+'.injected'):
|
||||||
os.remove(filename)
|
os.remove(filename)
|
||||||
os.rename(filename+'.injected', filename)
|
os.rename(filename+'.injected', filename)
|
||||||
|
|
|
@ -50,7 +50,7 @@ optional arguments:
|
||||||
image filenames to orthorectify. By
|
image filenames to orthorectify. By
|
||||||
default all images in a dataset are
|
default all images in a dataset are
|
||||||
processed. Default: img_list.txt
|
processed. Default: img_list.txt
|
||||||
--images IMAGES Comma-separeted list of filenames to
|
--images IMAGES Comma-separated list of filenames to
|
||||||
rectify. Use as an alternative to --image-
|
rectify. Use as an alternative to --image-
|
||||||
list. Default: process all images.
|
list. Default: process all images.
|
||||||
```
|
```
|
||||||
|
|
|
@ -45,7 +45,7 @@ parser.add_argument('--image-list',
|
||||||
parser.add_argument('--images',
|
parser.add_argument('--images',
|
||||||
type=str,
|
type=str,
|
||||||
default="",
|
default="",
|
||||||
help="Comma-separeted list of filenames to rectify. Use as an alternative to --image-list. Default: process all images.")
|
help="Comma-separated list of filenames to rectify. Use as an alternative to --image-list. Default: process all images.")
|
||||||
parser.add_argument('--threads',
|
parser.add_argument('--threads',
|
||||||
type=int,
|
type=int,
|
||||||
default=multiprocessing.cpu_count(),
|
default=multiprocessing.cpu_count(),
|
||||||
|
|
|
@ -154,7 +154,7 @@ documentation for any purpose and without fee, provided that:
|
||||||
all copies of this software and any modification thereof and in
|
all copies of this software and any modification thereof and in
|
||||||
supporting documentation;
|
supporting documentation;
|
||||||
2. Any color-handling application which displays TekHVC color
|
2. Any color-handling application which displays TekHVC color
|
||||||
cooordinates identifies these as TekHVC color coordinates in any
|
coordinates identifies these as TekHVC color coordinates in any
|
||||||
interface that displays these coordinates and in any associated
|
interface that displays these coordinates and in any associated
|
||||||
documentation;
|
documentation;
|
||||||
3. The term "TekHVC" is always used, and is only used, in association
|
3. The term "TekHVC" is always used, and is only used, in association
|
||||||
|
|
|
@ -39,7 +39,7 @@ def rectify(lasFile, debug=False, reclassify_threshold=5, min_area=750, min_poin
|
||||||
|
|
||||||
try:
|
try:
|
||||||
# Currently, no Python 2 lib that supports reading and writing LAZ, so we will do it manually until ODM is migrated to Python 3
|
# Currently, no Python 2 lib that supports reading and writing LAZ, so we will do it manually until ODM is migrated to Python 3
|
||||||
# When migration is done, we can move to pylas and avoid using PDAL for convertion
|
# When migration is done, we can move to pylas and avoid using PDAL for conversion
|
||||||
tempLasFile = os.path.join(os.path.dirname(lasFile), 'tmp.las')
|
tempLasFile = os.path.join(os.path.dirname(lasFile), 'tmp.las')
|
||||||
|
|
||||||
# Convert LAZ to LAS
|
# Convert LAZ to LAS
|
||||||
|
|
|
@ -5,7 +5,7 @@ from .partition_plan import PartitionPlan, Partition
|
||||||
|
|
||||||
class QuadPartitions(PartitionPlan):
|
class QuadPartitions(PartitionPlan):
|
||||||
"""This partition plan starts with one big partition that includes the whole point cloud. It then divides it into four partitions, based on some criteria.
|
"""This partition plan starts with one big partition that includes the whole point cloud. It then divides it into four partitions, based on some criteria.
|
||||||
Each of these partitions are then divided into four other partitions and so on. The algorithm has two possible stopping criterias:
|
Each of these partitions are then divided into four other partitions and so on. The algorithm has two possible stopping criteria:
|
||||||
if subdividing a partition would imply that one of the new partitions contains fewer that a given amount of points, or that one of the new partitions as an area smaller that the given size,
|
if subdividing a partition would imply that one of the new partitions contains fewer that a given amount of points, or that one of the new partitions as an area smaller that the given size,
|
||||||
then the partition is not divided."""
|
then the partition is not divided."""
|
||||||
|
|
||||||
|
|
|
@ -1,6 +1,6 @@
|
||||||
#!/usr/bin/env python
|
#!/usr/bin/env python
|
||||||
################################################################################
|
################################################################################
|
||||||
# lidar2dems - utilties for creating DEMs from LiDAR data
|
# lidar2dems - utilities for creating DEMs from LiDAR data
|
||||||
#
|
#
|
||||||
# AUTHOR: Matthew Hanson, matt.a.hanson@gmail.com
|
# AUTHOR: Matthew Hanson, matt.a.hanson@gmail.com
|
||||||
#
|
#
|
||||||
|
|
|
@ -70,7 +70,7 @@ def dn_to_radiance(photo, image):
|
||||||
R = np.repeat(R[:, :, np.newaxis], image.shape[2], axis=2)
|
R = np.repeat(R[:, :, np.newaxis], image.shape[2], axis=2)
|
||||||
image *= R
|
image *= R
|
||||||
|
|
||||||
# Floor any negative radiances to zero (can happend due to noise around blackLevel)
|
# Floor any negative radiances to zero (can happen due to noise around blackLevel)
|
||||||
if dark_level is not None:
|
if dark_level is not None:
|
||||||
image[image < 0] = 0
|
image[image < 0] = 0
|
||||||
|
|
||||||
|
|
|
@ -27,4 +27,4 @@ def add_pseudo_georeferencing(geotiff):
|
||||||
dst_ds = None
|
dst_ds = None
|
||||||
|
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
log.ODM_WARNING("Cannot add psuedo georeferencing to %s (%s), skipping..." % (geotiff, str(e)))
|
log.ODM_WARNING("Cannot add pseudo georeferencing to %s (%s), skipping..." % (geotiff, str(e)))
|
|
@ -11,7 +11,7 @@ def extract_temperatures_dji(photo, image, dataset_tree):
|
||||||
The executable file is run and generates a 16 bit unsigned RAW image with Little Endian byte order.
|
The executable file is run and generates a 16 bit unsigned RAW image with Little Endian byte order.
|
||||||
Link to DJI Forum post: https://forum.dji.com/forum.php?mod=redirect&goto=findpost&ptid=230321&pid=2389016
|
Link to DJI Forum post: https://forum.dji.com/forum.php?mod=redirect&goto=findpost&ptid=230321&pid=2389016
|
||||||
"""
|
"""
|
||||||
# Harcoded metadata for mean of values
|
# Hardcoded metadata for mean of values
|
||||||
# This is added to support the possibility of extracting RJPEG from DJI M2EA
|
# This is added to support the possibility of extracting RJPEG from DJI M2EA
|
||||||
meta = {
|
meta = {
|
||||||
"Emissivity": 0.95,
|
"Emissivity": 0.95,
|
||||||
|
|
|
@ -1405,7 +1405,7 @@ class GDAL2Tiles(object):
|
||||||
# Not for 'raster' profile
|
# Not for 'raster' profile
|
||||||
self.scaledquery = True
|
self.scaledquery = True
|
||||||
# How big should be query window be for scaling down
|
# How big should be query window be for scaling down
|
||||||
# Later on reset according the chosen resampling algorightm
|
# Later on reset according the chosen resampling algorithm
|
||||||
self.querysize = 4 * self.tilesize
|
self.querysize = 4 * self.tilesize
|
||||||
|
|
||||||
# Should we use Read on the input file for generating overview tiles?
|
# Should we use Read on the input file for generating overview tiles?
|
||||||
|
|
Ładowanie…
Reference in New Issue