with envi image processing and classification tools, you can get roofs from images with some spectral value and then you can convert it some vector data for your app.
in python with OpenCV which have devoloped by Intel (has lots of Object Detection Algorithms) you can detect faces from images.
OpenCV Example:
my question is that can we detect roof or anything from coordinated or not-coordinated satellite images with opensource tools as python?
Satellite Image Example: