kopia lustrzana https://github.com/OpenDroneMap/ODM
Mixed 8bit RGB/ 16 bit tiff radiometric calibration working
rodzic
2b92f6ccf2
commit
4272cd9d76
|
@ -52,7 +52,7 @@ ExternalProject_Add(${_proj_name}
|
|||
#--Download step--------------
|
||||
DOWNLOAD_DIR ${SB_DOWNLOAD_DIR}
|
||||
GIT_REPOSITORY https://github.com/OpenDroneMap/openMVS
|
||||
GIT_TAG 287
|
||||
GIT_TAG 288
|
||||
#--Update/Patch step----------
|
||||
UPDATE_COMMAND ""
|
||||
#--Configure step-------------
|
||||
|
|
|
@ -19,7 +19,7 @@ ExternalProject_Add(${_proj_name}
|
|||
#--Download step--------------
|
||||
DOWNLOAD_DIR ${SB_DOWNLOAD_DIR}
|
||||
GIT_REPOSITORY https://github.com/OpenDroneMap/OpenSfM/
|
||||
GIT_TAG 287
|
||||
GIT_TAG 288
|
||||
#--Update/Patch step----------
|
||||
UPDATE_COMMAND git submodule update --init --recursive
|
||||
#--Configure step-------------
|
||||
|
|
|
@ -56,7 +56,9 @@ def dn_to_radiance(photo, image):
|
|||
bit_depth_max = photo.get_bit_depth_max()
|
||||
if bit_depth_max:
|
||||
image /= bit_depth_max
|
||||
|
||||
else:
|
||||
log.ODM_WARNING("Cannot normalize DN for %s, bit depth is missing" % photo.filename)
|
||||
|
||||
if V is not None:
|
||||
# vignette correction
|
||||
V = np.repeat(V[:, :, np.newaxis], image.shape[2], axis=2)
|
||||
|
|
|
@ -256,10 +256,10 @@ class ODM_Photo:
|
|||
self.iso_speed = self.int_value(tags['EXIF PhotographicSensitivity'])
|
||||
elif 'EXIF ISOSpeedRatings' in tags:
|
||||
self.iso_speed = self.int_value(tags['EXIF ISOSpeedRatings'])
|
||||
|
||||
|
||||
|
||||
if 'Image BitsPerSample' in tags:
|
||||
self.bits_per_sample = self.int_value(tags['Image BitsPerSample'])
|
||||
|
||||
if 'EXIF DateTimeOriginal' in tags:
|
||||
str_time = tags['EXIF DateTimeOriginal'].values
|
||||
utc_time = datetime.strptime(str_time, "%Y:%m:%d %H:%M:%S")
|
||||
|
@ -626,7 +626,7 @@ class ODM_Photo:
|
|||
if len(parts) == 3:
|
||||
return list(map(float, parts))
|
||||
|
||||
return [None, None, None]
|
||||
return [None, None, None]
|
||||
|
||||
def get_dark_level(self):
|
||||
if self.black_level:
|
||||
|
@ -695,6 +695,11 @@ class ODM_Photo:
|
|||
def get_bit_depth_max(self):
|
||||
if self.bits_per_sample:
|
||||
return float(2 ** self.bits_per_sample)
|
||||
else:
|
||||
# If it's a JPEG, this must be 256
|
||||
_, ext = os.path.splitext(self.filename)
|
||||
if ext.lower() in [".jpeg", ".jpg"]:
|
||||
return 256.0
|
||||
|
||||
return None
|
||||
|
||||
|
@ -731,6 +736,9 @@ class ODM_Photo:
|
|||
if(self.camera_make == "DJI" and self.camera_model == "ZH20T" and self.width == 640 and self.height == 512):
|
||||
return True
|
||||
return self.band_name.upper() in ["LWIR"] # TODO: more?
|
||||
|
||||
def is_rgb(self):
|
||||
return self.band_name.upper() in ["RGB", "REDGREENBLUE"]
|
||||
|
||||
def camera_id(self):
|
||||
return " ".join(
|
||||
|
|
|
@ -48,7 +48,7 @@ def get_rolling_shutter_readout(photo, override_value=0):
|
|||
key = make_model_key(make, model)
|
||||
if key in RS_DATABASE:
|
||||
rsd = RS_DATABASE[key]
|
||||
val = 0.0
|
||||
val = DEFAULT_RS_READOUT
|
||||
|
||||
if isinstance(rsd, int) or isinstance(rsd, float):
|
||||
val = float(rsd)
|
||||
|
|
Ładowanie…
Reference in New Issue