Agisoft Metashape

Agisoft Metashape => Python and Java API => Topic started by: chehroma on September 08, 2020, 10:41:17 AM

Title: renderImage Camera position
Post by: chehroma on September 08, 2020, 10:41:17 AM
Добрый день. Использую скрипт, который нашел в одной из тем. Но есть один нюанс: конечное изображение почему то всегда получается под разным углом (примеры http://prntscr.com/udgmvp http://prntscr.com/udgn6z). Как подправить скрипт, что бы виртуальная камера постоянно смотрела на центр области реконструкции (как то так http://prntscr.com/udgpg7). Буду очень благодарен за помощь.
Code: [Select]
import Metashape

chunk = Metashape.app.document.chunk
T = chunk.crs.localframe(chunk.transform.translation) * chunk.transform.matrix

location = chunk.region.center + chunk.region.rot * chunk.region.size
direction = (chunk.region.center - location).normalized()
vertical = T.inv().mulv(Metashape.Vector([0, 0, 1]))
horizontal = Metashape.Vector.cross(direction, vertical).normalized()
vertical = Metashape.Vector.cross(direction, horizontal).normalized()
R = Metashape.Matrix([horizontal, vertical, direction])

cameraT = Metashape.Matrix().Translation(location) * Metashape.Matrix().Rotation(R.t())

image = chunk.model.renderImage(cameraT, chunk.sensors[0].calibration)
image.save("c://Work//render2.jpg")
Title: Re: renderImage Camera position
Post by: Alexey Pasumansky on September 11, 2020, 10:42:03 PM
Добрый день,

Данный скрипт должен создавать рендер модели с видом из одного из углов области реконструкции на её центр.

Уточните, пожалуйста, с какой точки Вы хотите рендерить вид модели? Например, с центра какой-либо грани?
Title: Re: renderImage Camera position
Post by: chehroma on October 15, 2020, 03:50:48 PM
Добрый день,

Данный скрипт должен создавать рендер модели с видом из одного из углов области реконструкции на её центр.

Уточните, пожалуйста, с какой точки Вы хотите рендерить вид модели? Например, с центра какой-либо грани?

Если взять область реконструкции, на ней есть крестик, так нужно напротив (см. скриншот http://prntscr.com/uzv4wn). Спасибо.