derivative generation via FreeImage and smart square thumbnail via OpenCV