stpete2 commited on
Commit
913cb45
·
verified ·
1 Parent(s): 90a062e

Update h5_to_db.py

Browse files
Files changed (1) hide show
  1. h5_to_db.py +13 -6
h5_to_db.py CHANGED
@@ -69,12 +69,11 @@ def create_camera(db, image_path, camera_model):
69
  return db.add_camera(model, width, height, param_arr)
70
 
71
 
72
- def add_keypoints(db, h5_path, image_path, img_ext, camera_model, single_camera = True):
73
  keypoint_f = h5py.File(os.path.join(h5_path, 'keypoints.h5'), 'r')
74
  camera_id = None
75
  fname_to_id = {}
76
 
77
- # 画像ディレクトリ内の全ファイルを取得
78
  import glob
79
  all_images = {}
80
  for ext in ['.jpg', '.jpeg', '.png', '.JPG', '.JPEG', '.PNG']:
@@ -85,23 +84,31 @@ def add_keypoints(db, h5_path, image_path, img_ext, camera_model, single_camera
85
  for filename in tqdm(list(keypoint_f.keys())):
86
  keypoints = keypoint_f[filename][()]
87
 
88
- # 拡張子なしのファイル名で検索
89
  if filename not in all_images:
90
  raise IOError(f'Image not found for key: {filename}')
91
 
92
- path = all_images[filename] # 実際のフルパス
93
- fname_with_ext = os.path.basename(path) # 拡張子付きファイル名
94
 
95
  if camera_id is None or not single_camera:
96
  from PIL import Image
97
  img = Image.open(path)
98
  width, height = img.size
99
 
 
 
 
 
 
 
 
 
 
100
  camera_id = db.add_camera(
101
  model=2, # SIMPLE_RADIAL
102
  width=width,
103
  height=height,
104
- params=np.array([0.0, 0.0, 0.0, 0.0]) # COLMAPが最適化
105
  )
106
 
107
  image_id = db.add_image(fname_with_ext, camera_id)
 
69
  return db.add_camera(model, width, height, param_arr)
70
 
71
 
72
+ def add_keypoints(db, h5_path, image_path, img_ext, camera_model, single_camera=True):
73
  keypoint_f = h5py.File(os.path.join(h5_path, 'keypoints.h5'), 'r')
74
  camera_id = None
75
  fname_to_id = {}
76
 
 
77
  import glob
78
  all_images = {}
79
  for ext in ['.jpg', '.jpeg', '.png', '.JPG', '.JPEG', '.PNG']:
 
84
  for filename in tqdm(list(keypoint_f.keys())):
85
  keypoints = keypoint_f[filename][()]
86
 
 
87
  if filename not in all_images:
88
  raise IOError(f'Image not found for key: {filename}')
89
 
90
+ path = all_images[filename]
91
+ fname_with_ext = os.path.basename(path)
92
 
93
  if camera_id is None or not single_camera:
94
  from PIL import Image
95
  img = Image.open(path)
96
  width, height = img.size
97
 
98
+ # 適切な初期値を設定
99
+ # あなたの画像: Width=1440, Height=1920
100
+ focal_length = float(max(width, height)) # 1920
101
+ cx = float(width / 2.0) # 720.0
102
+ cy = float(height / 2.0) # 960.0
103
+ k = 0.0 # 歪みなし
104
+
105
+ print(f"カメラパラメータ: f={focal_length}, cx={cx}, cy={cy}, k={k}")
106
+
107
  camera_id = db.add_camera(
108
  model=2, # SIMPLE_RADIAL
109
  width=width,
110
  height=height,
111
+ params=np.array([focal_length, cx, cy, k], dtype=np.float64)
112
  )
113
 
114
  image_id = db.add_image(fname_with_ext, camera_id)