I recently started using ODM and love the tools that it provides. I used ODM to generate a high-quality 3d model of an object and would now like to create several artificial images (like an orthophoto) from different camera angles/positions.
More specifically, I have an object with several faces and I would like to generate an artificial image for each camera position/orientation that look towards each face from a constant distance away.
My initial thought is to use RANSAC to find all planes and then adjust the camera coordinate system that is outputted by OpenSFM. However, I imagine there must be an easier way of doing this within ODM without constantly generating new 3d models.
I was wondering if anyone who is more familiar with the software knows a simpler way of doing this. Any help would be greatly appreciated.
Thank you for your response! Basically, we are using ODM to create 3d models of objects and do not care about the geo-referencing portion. Once we have the 3d model, we want to snap orthophotos for each face of the objects. We don’t provide gps or gcp data.
I guess I’m struggling to find where in the code the coordinate frame of the camera for the orthomosaic is set. If I could find the location in the code, I could easily manipulate it to take photos from different angles. For example, if I wanted to, I could just rotate the camera by 45 degrees and get a different orthophoto.
I’ll keep looking - I’ll dive more into OpenSFM now.
I guess a simpler question from my side that might help me think about it better - when you create a 3d map with a drone, and ODM creates an orthographic image, how does it know to look straight down at the ground? Why do you not end up with an angled orthographic image?
The mesh “cloud” (the mesh vertices) are aligned with the rendering area and then are rasterized using an iterative process (there’s no camera projections).