Este artículo tiene como objetivo aprender cómo guardar una imagen desde una ubicación a cualquier otra ubicación deseada en su sistema en CPP usando OpenCv. Usando OpenCV, podemos generar una imagen en blanco con cualquier color que deseemos.
Entonces, profundicemos y entendamos el concepto con la explicación completa.
Código: código C++ para guardar una imagen en cualquier ubicación en OpenCV.
// c++ code explaining how to // save an image to a defined // location in OpenCV // loading library files #include <highlevelmonitorconfigurationapi.h> #include <opencv2\highgui\highgui.hpp> #include <opencv2\opencv.hpp> using namespace cv; using namespace std; int main(int argc, char** argv) { // Reading the image file from a given location in system Mat img = imread("..path\\abcd.jpg"); // if there is no image // or in case of error if (img.empty()) { cout << "Can not open or image is not present" << endl; // wait for any key to be pressed cin.get(); return -1; } // You can make any changes // like blurring, transformation // writing the image to a defined location as JPEG bool check = imwrite("..path\\MyImage.jpg", img); // if the image is not saved if (check == false) { cout << "Mission - Saving the image, FAILED" << endl; // wait for any key to be pressed cin.get(); return -1; } cout << "Successfully saved the image. " << endl; // Naming the window String geek_window = "MY SAVED IMAGE"; // Creating a window namedWindow(geek_window); // Showing the image in the defined window imshow(geek_window, img); // waiting for any key to be pressed waitKey(0); // destroying the creating window destroyWindow(geek_window); return 0; }
Entrada :
Salida :
Explicación :
// Reading the image file from a given location in system Mat img = imread("..path\\abcd.jpg"); // if there is no image // or in case of error if (img.empty()) { cout << "Can not open or image is not present" << endl; // wait for any key to be pressed cin.get(); return -1; }
Esta parte del código lee la imagen desde la ruta que le hemos dado. Y se encarga de cualquier error (si ocurre). Si no hay ninguna imagen presente en esta ruta, aparecerá el mensaje «No se puede abrir o la imagen no está presente» y, al presionar cualquier tecla, se cerrará la ventana.
// writing the image to a defined location as JPEG bool check = imwrite("..path\\MyImage.jpg", img); // if the image is not saved if (check == false) { cout << "Mission - Saving the image, FAILED" << endl; // wait for any key to be pressed cin.get(); return -1; } cout << "Successfully saved the image. " << endl;
Esta parte del código escribe la imagen en la ruta definida y, si no tiene éxito, generará el mensaje «Misión: guardar la imagen, FALLÓ» y, al presionar cualquier tecla, se cerrará la ventana. Y el resto del código creará la ventana y mostrará la imagen en ella. Seguirá mostrando la imagen en la ventana hasta que se pulse la tecla. Finalmente, la ventana será destruida.
Publicación traducida automáticamente
Artículo escrito por mathemagic y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA