boost
BOOST- Comparer des images en utilisant OpevCV
Recherche…
Introduction
Cette documentation explique comment une image externe peut être testée et comparée à l'image de sortie d'OpenCV. Par exemple, pour comparer deux images floues et les tester si elles sont identiques, nous allons brouiller une image originale dans un logiciel externe (j'ai utilisé le logiciel de traitement d'image WiT) ou simplement télécharger une image en ligne floue1. Créez un projet Win32 OpenCV dans Visual Studio. Lisez l'image originale en entrée de l'OpenCV. Brouiller l'image originale dans OpenCV et comparer avec output1.
Code OpenCV pour lire les images et comparer
#include <opencv2 / opencv.hpp> #include
en utilisant l'espace de noms cv; utiliser un espace de noms std;
int main (int argc, char ** argv) {image Mat; image = imread ("C: \ Utilisateurs \ Développement \ Documents \ Visual Studio 2013 \ Projects \ ImageIn.bmp", CV_LOAD_IMAGE_GRAYSCALE); // Lire le fichier
if (!image.data) // Check for invalid input
{
cout << "Could not open or find the image" << std::endl;
return -1;
}
Mat witout = imread("C:\\Users\\Development\\Documents\\Visual Studio 2013\\Projects\\ImageWitOut.bmp", CV_LOAD_IMAGE_GRAYSCALE);;
Mat cvout = Mat(image.size(), image.type(), Scalar(255));
imshow("witout", witout);
imshow("cvout", cvout);
Mat diff = (witout == cvout);
namedWindow("Difference", WINDOW_AUTOSIZE);// Create a window for display.
imshow("Difference", diff); // Show our image inside it.
waitKey(0); // Wait for a keystroke in the window
return 0;
}