Agisoft Metashape > Other Languages
Ближайшее расстояние от камеры до твердотельной модели
(1/1)
aldanstar:
Здравствуйте, Алексей
Возникла небольшая дилемма:
Как найти ближайшее расстояние от камеры (конечно будет от каждой камеры) до твердотельной модели через API?
Заранее спасибо
Alexey Pasumansky:
Здравствуйте, Александр,
Можно попробовать воспользоваться функцией model.pickPoint() которая находит точку пересечения луча с мешем.
Пример скрипта ниже, находит наименьшее расстояние до модели для точек с исходного изображения, соответствующего камере. Для ускорения работы, скрипт просматривает не каждый пиксель, а бежит с шагом в 50 точек.
--- Code: ---chunk = PhotoScan.app.document.chunk
model = chunk.model
camera = chunk.cameras[0]
dist = 1E10
for x in range(0, camera.sensor.width, 100):
for y in range(0, camera.sensor.height, 100):
point = PhotoScan.Vector([x, y])
point3D = model.pickPoint(camera.center, camera.transform.mulp(camera.sensor.calibration.unproject(point)))
if point3D:
dist = min(dist, (camera.center - point3D).norm())
print(dist * chunk.transform.scale)
--- End code ---
Navigation
[0] Message Index
Go to full version