boost
BOOST - Porównaj obrazy za pomocą OpevCV
Szukaj…
Wprowadzenie
Ta dokumentacja wyjaśnia, w jaki sposób obraz zewnętrzny można przetestować i porównać z obrazem wyjściowym OpenCV. Na przykład, aby porównać dwa zamazane obrazy i sprawdzić, czy oba są takie same, rozmazujemy oryginalny obraz w zewnętrznym oprogramowaniu (korzystałem z oprogramowania do przetwarzania obrazu WiT) lub po prostu pobieramy dowolny zamazany obraz w trybie online1. Utwórz projekt Win32 OpenCV w Visual Studio. Przeczytaj oryginalny obraz jako dane wejściowe do OpenCV. Rozmyj oryginalny obraz w OpenCV i porównaj z wyjściem 1.
Kod OpenCV do czytania zdjęć i porównywania
#include <opencv2 / opencv.hpp> #include
przy użyciu przestrzeni nazw cv; using namespace std;
int main (int argc, char ** argv) {Mat image; image = imread („C: \ Users \ Development \ Documents \ Visual Studio 2013 \ Projects \ ImageIn.bmp”, CV_LOAD_IMAGE_GRAYSCALE); // Przeczytaj plik
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;
}