improved calib params
This commit is contained in:
@@ -20,7 +20,7 @@ class Detector(abc.ABC):
|
|||||||
self.detector = detector
|
self.detector = detector
|
||||||
self.out_file = out_file
|
self.out_file = out_file
|
||||||
self.rotation_order = rotation_order
|
self.rotation_order = rotation_order
|
||||||
self.camera_name = "UnknownCamera"
|
self.camera_name = "default"
|
||||||
self.device_id = None
|
self.device_id = None
|
||||||
self.src_video = None
|
self.src_video = None
|
||||||
self.src_images = None
|
self.src_images = None
|
||||||
@@ -108,13 +108,13 @@ class Detector(abc.ABC):
|
|||||||
print(f"Saved {filename} successfully!")
|
print(f"Saved {filename} successfully!")
|
||||||
|
|
||||||
def calibrate_load(self):
|
def calibrate_load(self):
|
||||||
self.params['calib'] = {}
|
calib = {}
|
||||||
for det in self.detector:
|
for det in self.detector:
|
||||||
filename = f"{RESULTS_FOLDER}/{det.get_board_name()}_cal.npz"
|
filename = f"{RESULTS_FOLDER}/{det.get_board_name()}_cal.npz"
|
||||||
try:
|
try:
|
||||||
with np.load(filename) as X:
|
with np.load(filename) as X:
|
||||||
mtx, dist, _, _ = [X[i] for i in ('mtx', 'dist', 'rvecs', 'tvecs')]
|
mtx, dist, _, _ = [X[i] for i in ('mtx', 'dist', 'rvecs', 'tvecs')]
|
||||||
calib = {self.camera_name: {str(det): {'mtx': mtx.tolist(), 'dist': dist.tolist()}}}
|
calib[str(det)] = {'mtx': mtx.tolist(), 'dist': dist.tolist()}
|
||||||
det.calibration_set(mtx, dist, None, None)
|
det.calibration_set(mtx, dist, None, None)
|
||||||
self.params['calib'] = calib
|
self.params['calib'] = calib
|
||||||
self.params_save()
|
self.params_save()
|
||||||
@@ -124,6 +124,8 @@ class Detector(abc.ABC):
|
|||||||
except KeyError:
|
except KeyError:
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
self.params['calib'] = {self.camera_name: calib}
|
||||||
|
|
||||||
def process(self):
|
def process(self):
|
||||||
cap = self.cap
|
cap = self.cap
|
||||||
if cap is None or not cap.isOpened():
|
if cap is None or not cap.isOpened():
|
||||||
|
|||||||
Reference in New Issue
Block a user