Someone answered a question over on the Photography SE that this could be done with photogrammetry. I had initially discounted this as I thought this was used to generate 3D models from many photographs, while I have a 3D model already, and just one photograph.
To be more specific, I know the 3D positions of buildings in a city. I need to determine the camera location that would have generated a given photo of those buildings. These are photos from about 90-140 years ago.
- This must be automatable. If the process needs very much more human intervention than drawing a few bounding boxes around buildings and linking them to specific buildings in a database then it will not be useful for me (i.e., no flying around in Google Earth until things match*).
- I will not know the model or optics of the camera that took the photo.
- I will not know if the image I have has been cropped.
Can anyone point me to software that can accomplish this? Alternatively, if it's not off topic, can anyone offer advice on writing my own? I already think I can at least find a bearing and azimuth given the above constraints, but don't know if I can reduce that to a point or short line segment of possibilities.
* For one, we don't have the human resources but, even more limiting, many of these buildings no longer stand, streets no longer exist, etc..