Redimensionner une image d'un carré, mais garder l'aspect ratio c++, opencv

Est-il un moyen de redimensionner des images de n'importe quelle forme ou taille-à-dire [500x500] mais ont le format de l'image sera maintenu, levaing l'espace vide sera rempli avec le blanc/noir de remplissage?

Donc, dire que l'image est [2000x1000], après avoir redimensionné pour [500x500] l'image elle-même serait [500x250], avec 125 chaque côté blanc/noir de remplissage.

Quelque chose comme ceci:

Entrée

Redimensionner une image d'un carré, mais garder l'aspect ratio c++, opencv

Sortie

Redimensionner une image d'un carré, mais garder l'aspect ratio c++, opencv

MODIFIER

Je ne le souhaitez pas il suffit d'afficher l'image dans une fenêtre carrée, plutôt que l'image a changé à cet état, puis enregistrées dans le fichier de création d'une collection de même de la taille des images avec peu de distorsion de l'image que possible.

La seule chose que je suis venu à travers de poser une question semblable a été ce post, mais son php.

Avez-vous essayé tout?
Je peux redimensionner les images fine, de ses la plus de la noire que je ne connais pas
Remplissez votre fond noir, puis coller l'image sur elle...?
Ce n'est pas spécifiquement pour l'affichage de souci, en plus de l'avoir sauvé de cette manière
Votre image est un Mat[500,500], n'est-ce pas ?

OriginalL'auteur MLMLTL | 2015-02-17