CV abierto | Guardar una imagen

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *