0.Instalar mingw64
Enlace al sitio web oficial: mingw
- Instale la marca del cuadro rojo para descargar la versión sin instalación, que se puede descomprimir.
- Agregue el mingw64\bin descomprimido a la variable de entorno de ruta
- Ingrese gcc -v en cmd y aparecerá la siguiente figura, que indica que la configuración se realizó correctamente.
1. Descargue el código fuente de OpenCV
Descarga del código fuente
Sitio web oficial: Lanzamientos - OpenCV
Ejecute el archivo exe descargado y especifique la ruta de almacenamiento del código fuente.
El código fuente descargado se muestra a continuación.
Descarga del archivo de extensión
Descargue el sitio web oficial: Etiquetas · opencv/opencv_contrib (github.com)
Después de la descarga, descomprímalo y colóquelo en la ruta OpenCV.
2.Instalar CMAKE
Código fuente OpenCV compilado: https://pan.baidu.com/s/1NF5PElfjJT49pnpqgQy3zg?pwd=ksz0
Si usa lo que compilé, salte directamente a 4.5, configure las variables de entorno y luego ingrese clion para probar.
Se utiliza la carpeta mingw-build, puede eliminar la carpeta VS-build.
La carpeta VS-build se construye usando VS. Si no la usa, puede eliminarla (VS-build). El archivo vsbuild tiene más de diez G.
Sitio web oficial: Descargar | CMake
Ejecute el archivo de instalación y deberá marcar Agregar variables de entorno en el medio.
Cambiar ruta de instalación
3.ckame compila OpenCV
- Cree una nueva carpeta mingw-build en la ruta del código fuente de OpenCV
- Copie el archivo opencv_videoio_ffmpeg470_64.dll en el directorio build/bin al directorio sources/3rdparty/ffmpeg
- Verifique cmake, como se muestra en la figura siguiente, seleccione la ruta del archivo
- Haga clic en configurar, seleccione Mingw Makefile en la ventana emergente, el valor predeterminado del compilador estará bien
- Cuando se completa la primera compilación, aparece el contenido con un fondo rojo, verifique el contenido que se muestra en la imagen a continuación y luego continúe haciendo clic en configurar.
- Haga clic en configurar varias veces hasta que no aparezca más rojo.
Es posible que se informe de un error durante la descarga.
FFMPEG: Error en la descarga: 28; "Se alcanzó el tiempo de espera"
Solución:
Copie el enlace de descarga e ingréselo en el navegador para descargar.
Abra la carpeta .cache en la carpeta fuente de opencv
Copie el nombre del archivo que no se descargó correctamente y cambie el nombre del archivo que se descargó correctamente en la página web al nombre que acaba de copiar.
Coloque los archivos renombrados en cada carpeta debajo de la carpeta .cache y reemplace los archivos originales [Cómo confirmar la ubicación de los archivos: hay un nombre de carpeta correspondiente en el enlace de descarga]
Haga clic en configurar nuevamente
- Generador de clics
4. Instalar archivos compilados
- Ingrese a la carpeta mingw-build
- Ingrese cmd en la ruta y presione Enter (se recomienda ejecutar directamente como administrador, ejecutar en modo normal puede causar algunos errores)
- ingresar
mingw32-make -j 16
Resolución de errores:
- Si aparece
error: 'recursive_mutex' in namespace 'std' does not name a type
, vuelva a descargar la versión posix de mingw64 y luego vuelva a compilar el código fuente de OpenCV en cmake- Si
undefined reference to _Unwind_Resume'
ocurre algo como esto, ejecute cmd como administrador y vuelva a compilar.
- Si ocurre un error como este
Anaconda3-/hdf5
, no use el entorno Python de Anaconda3 y reemplácelo con otro entorno Python o no use el entorno Python directamente (elimine directamente la configuración de Python de Anaconda en el cambio de entorno de ruta, reemplácela con otro Python o no configure Python ), y reutilizar cmake Compile y luego ejecute en cmd
- ingresar
mingw32-make install
- Agregue variables de entorno y agregue el directorio mingw-build\bin a las variables de entorno del sistema
5.Configuración y uso de Clion
- Crear un nuevo proyecto
- Copie el siguiente contenido
CMakeLists.txt
en
set(OpenCV_DIR E:/kaifa/C/opencv/mingw-build/install) #这里刚才编译的OpenCV的路径
find_package(OpenCV REQUIRED)
target_link_libraries(OpenCVtest ${OpenCV_LIBS}) #OpenCVtest是你的项目名称
- Ejecute el archivo main.cpp
#include "iostream"
#include<opencv2/opencv.hpp>
using namespace std;
using namespace cv;
int main() {
Mat img = imread("E:/C-Project/OpenCVtest/1.jpg");
cout << img.type() << endl;
if (img.empty()) {
cout << "Error" << endl;
return -1;
}
imshow("Lena", img);
waitKey();
return 0;
}
- Una imagen emergente indica que la configuración del entorno se realizó correctamente.