Au détour d’une question sur StackOverflow, j’ai découvert qu’OpenCV 2.4 avait supprimé le mot-clé const
de la fonction cv::Mat(cv::Rect())
.
On peut donc utiliser le résultat de cette fonction comme argument de la fonction copyTo()
.
La syntaxe suivante est désormais valide :
cv::Mat bigMat(1024, 1024, CV_32FC1);
cv::Mat someSmallData(256, 256, CV_32FC1);
someSmallData.copyTo(bigMat(cv::Rect(xmin, ymin, xmin+256, ymin+256));
Avant, il aurait fallu d’abord créer un objet temporaire (en fait, juste un en-tête pour accéder au bon endroit de bigMat
) pour obtenir une cv::Mat
non constante, puis copier dans cette matrice temporaire.
Un petit changement qui devrait alléger pas mal de codes !
Le billet sur les fonctions constantes a également été mis à jour.