Configuración de OpenCV con Qt (MSVC)

Este artículo detalla el proceso de instalación y configuración de OpenCV, específicamente la versión compilada con MSVC (Microsoft Visual C++), para su uso dentro del entorno de desarrollo Qt.

Instalación y Configuración de CMake

  1. Descargue CMake desde su sitio oficial: CMake Download.
  2. Seleccione la versión de instalador adecuada para su sistema operativo.
  3. Durante la instalación, asegúrese de añadir CMake al PATH del sistema.
  4. Complete la instalación seleccionando la carpeta de destino.

Descarga y Compilación de OpenCV

  1. Descargue el código fuente de OpenCV desde la página de lanzamientos: OpenCV Releases.
  2. Se recomienda descargar las fuentes ('Sources') y compilar OpenCV manualmente. Si utiliza una versión precompilada para Windows, puede omitir los pasos de compilación manual.
  3. Extraiga los archivos fuente de OpenCV en una ubicación de su elección y anote la ruta.
  4. Cree una carpeta denominada build dentro del directorio donde extrajo OpenCV.
  5. Abra CMake-GUI y configure las rutas:
    • En el campo Where is the source code, ingrese la ruta al directorio de las fuentes de OpenCV.
    • En el campo Where to build the binaries, ingrese la ruta a la carpeta build que creó.
  6. Haga clic en Configure. Seleccione el generador adecuado para su compilador de Visual Studio (por ejemplo, "Visual Studio 17 2022").
  7. Una vez configurado, marque la opción BUILD_opencv_world. Esto consolidará todos los módulos de OpenCV en una única bibiloteca (DLL), simplificando la vinculación.
  8. Vuelva a hacer clic en Configure y luego en Generate para crear los archivos del proyecto de Visual Studio.
  9. Navegue hasta la carpeta build de OpenCV y abra el archivo .sln con Visual Studio. Alternativamente, puede hacer clic en Open Project dentro de CMake.
  10. En Visual Studio, vaya a Build > Batch Build....
  11. Seleccione las casillas para ALL_BUILD e INSTALL, y luego inicie la compilación. Este proceso puede tomar aproximadamente media hora.

Integración de OpenCV con Proyectos Qt

  1. Cree un archivo de configuración .pri (por ejemplo, opencv.pri) en una ubicación conveniente. Este archivo se utiliza para incluir dependencias de terceros en proyectos Qt.

  2. Edite el archivo opencv.pri y añada las siguientes directivas, ajustando las rutas y la versión según su instalación: ```

    INCLUDEPATH += C:/path/to/opencv/build/install/include DEPENDPATH += C:/path/to/opencv/build/install/include

    Configuración para compilaciones Debug

    Debug { LIBS += -LC:/path/to/opencv/build/install/x64/vc17/lib -lopencv_world455d }

    Configuración para compilaciones Release

    Release { LIBS += -LC:/path/to/opencv/build/install/x64/vc17/lib -lopencv_world455 }

    
    Nota: Al habiiltar `BUILD_opencv_world` durante la compilación, solo es necesario vincular la biblioteca `opencv_world`, en lugar de múltiples bibliotecas individuales.
    
  3. Guarde el archivo y cámbiele la extensión a .pri.

  4. Asegúrese de que la ruta al directorio bin de su instalación de OpenCV esté añadida a las variables de entorno PATH del sistema.

Prueba de la Integración Qt y OpenCV

  1. Cree un nuevo proyecto Qt y configure el compilador para usar el kit MSVC correspondiente. Si no tiene un kit MSVC instalado, puede añadirlo a través del "Maintenance Tool" de Qt.

  2. Agregue la siguiente línea a su archivo .pro para incluir la configuración de OpenCV: ```

    include(C:/path/to/your/opencv.pri)

  3. Guarde el archivo .pro. Es posible que Qt Creator cree automáticamente una copia del archivo .pri en la estructura del proyecto.

  4. Reemplace el contenido de su archivo main.cpp con el siguiente código para probar la lectura y visualización de una imagen: ```

    #include <QApplication> #include <opencv2/core.hpp> #include <opencv2/highgui.hpp> #include <opencv2/imgcodecs.hpp> // Para imread #include <opencv2/imgproc.hpp> #include

    int main(int argc, char *argv[]) { QApplication app(argc, argv);

     // Cargar una imagen usando OpenCV
     cv::Mat image = cv::imread("C:/path/to/your/image.jpg", cv::IMREAD_COLOR);
    
     if (image.empty()) {
         std::cerr << "Error: No se pudo cargar la imagen." << std::endl;
         return -1;
     }
    
     // Crear una ventana y mostrar la imagen
     const char* windowName = "Display window";
     cv::namedWindow(windowName, cv::WINDOW_AUTOSIZE);
     cv::imshow(windowName, image);
    
     // Esperar indefinidamente hasta que se presione una tecla
     cv::waitKey(0);
    
     return app.exec();
    

    }

  5. Compile y ejecute su proyecto. Si la imagen se muestra correctamente, la configuración ha sido exitosa.

Etiquetas: Qt opencv MSVC cmake C++

Publicado el 7-3 21:07