read camera txt file
(words, interval_scale=1)
| 19 | to_tensor = tvf.ToTensor() |
| 20 | |
| 21 | def load_cam_mvsnet(words, interval_scale=1): |
| 22 | """read camera txt file""" |
| 23 | cam = np.zeros((2, 4, 4)) |
| 24 | # words = file.read().split() |
| 25 | words = words.split() |
| 26 | # read extrinsic |
| 27 | for i in range(0, 4): |
| 28 | for j in range(0, 4): |
| 29 | extrinsic_index = 4 * i + j + 1 |
| 30 | cam[0][i][j] = words[extrinsic_index] |
| 31 | |
| 32 | # read intrinsic |
| 33 | for i in range(0, 3): |
| 34 | for j in range(0, 3): |
| 35 | intrinsic_index = 3 * i + j + 18 |
| 36 | cam[1][i][j] = words[intrinsic_index] |
| 37 | |
| 38 | if len(words) == 29: |
| 39 | cam[1][3][0] = words[27] |
| 40 | cam[1][3][1] = float(words[28]) * interval_scale |
| 41 | cam[1][3][2] = 192 |
| 42 | cam[1][3][3] = cam[1][3][0] + cam[1][3][1] * cam[1][3][2] |
| 43 | elif len(words) == 30: |
| 44 | cam[1][3][0] = words[27] |
| 45 | cam[1][3][1] = float(words[28]) * interval_scale |
| 46 | cam[1][3][2] = words[29] |
| 47 | cam[1][3][3] = cam[1][3][0] + cam[1][3][1] * cam[1][3][2] |
| 48 | elif len(words) == 31: |
| 49 | cam[1][3][0] = words[27] |
| 50 | cam[1][3][1] = float(words[28]) * interval_scale |
| 51 | cam[1][3][2] = words[29] |
| 52 | cam[1][3][3] = words[30] |
| 53 | else: |
| 54 | cam[1][3][0] = 0 |
| 55 | cam[1][3][1] = 0 |
| 56 | cam[1][3][2] = 0 |
| 57 | cam[1][3][3] = 0 |
| 58 | |
| 59 | extrinsic = cam[0].astype(np.float32) |
| 60 | intrinsic = cam[1].astype(np.float32) |
| 61 | |
| 62 | return intrinsic, extrinsic |
| 63 | |
| 64 | class DTU(Dataset): |
| 65 | def __init__( |