OpenCV_contrib3.3.0 se expande bajo Win10 + VS2015 + OpenCV3.3.0

OpenCV_contrib3.3.0 se expande bajo Win10 + VS2015 + OpenCV3.3.0

1. Descripción

Durante el proceso de aprendizaje del procesamiento de imágenes y SLAM, quiero probar algunos códigos de coincidencia de características por mí mismo. Se descubrió que la versión OpenCV3 de las funciones de biblioteca de coincidencia de características están en el paquete de extensión OpenCV_contrib, así que agregue el paquete de extensión opencv_contrib en el entorno VS donde está instalado OpenCV3.3.0, grabe esto El proceso y la solución a los problemas encontrados, y finalmente instalados con éxito.

El sistema se ha configurado antes de la instalación:

win10 + VS2015 + opencv3.3.0 + cmake2.x (lo olvidé específicamente ❤)

Configuración del sistema después de la instalación:

win10 + VS2015 + opencv3.3.0 + opencv_contrib3.3.0 + cmake3.16.2

En segundo lugar, los pasos de instalación.

1. Descargue la versión correspondiente de opencv_contrib (nota: ¡debe ser la versión correspondiente!)

Otras
versiones de Opencv_contrib3.3.0 se descargan por sí mismas, muchos recursos en Internet ~ el
paquete comprimido descargado se descomprime en el directorio de instalación de opencv (como el mío a continuación):
Inserte la descripción de la imagen aquí

2. Operaciones en cmake_gui (en línea)

  1. 打开 cmake-gui
  2. Seleccione el directorio opencv / sources en Dónde está el código fuente
  3. Seleccione el directorio opencv / build en Dónde construir los binarios (Nota: aquí debe eliminar todos los contenidos anteriores en opencv / build, dejando un directorio vacío de compilación)
  4. Haga clic en configurar y espere a que se complete la configuración
  5. En el cuadro de diálogo emergente, seleccione la plataforma de ingeniería compilada, por ejemplo, la mía es VS 14 2015 Win64 (instalé cmake2.x antes, pero no puedo encontrar la versión correspondiente de VS2015, entonces necesita desinstalar cmake para reproducir una versión más avanzada Arriba)
  6. Haga clic en Finalizar. Durante el proceso de configuración, muchos archivos se descargarán nuevamente. La velocidad de descarga es relativamente lenta. Espere pacientemente hasta que la configuración realizada parezca indicar el final
  7. Busque OPENCV_EXTRA_MODULES_PATH en el área variable, selecciónelo como el directorio opencv_contrib / modules, y verifique BUILD_opencv_world (mire la primera letra para encontrar el menú), luego haga clic en configurar, descargará un montón de cosas, espere pacientemente
  8. Hasta que no haya una variable roja en el área variable, de lo contrario, haga clic en configurar repetidamente
  9. Haga clic en generar

3. Use VS para generar la biblioteca opencv con la interfaz opencv_contrib

VS abre OpenCV.sln

Después de que CMake Genarate tenga éxito, se generarán un montón de cosas en el directorio de salida de CMake, busque OpenCV.sln en el directorio raíz y luego use el estudio visual correspondiente para abrir y cargar la solución.

Operaciones en VS

1. Haga clic derecho en la solución 'OpenCV' en el Explorador de soluciones, seleccione Depurar x64, haga clic en Generar-> Generar solución para comenzar a compilar. Este proceso es relativamente largo y requiere paciencia.
2. Sin errores. En el Explorador de soluciones Directorio CMakeTargets, haga clic en "Solo para proyecto-> Solo generar INSTALAR", puede compilar y generar archivos relacionados con dll
(algunos tutoriales en la opción de compilación del siguiente paso se ajustan a la Versión x64, repita el proceso anterior, pero hago referencia No hice el tutorial, no lo hice)

Regenera la solución

En el directorio build / install bajo el directorio opencv, puede ver que se generan un montón de archivos

4. Reconfigurar variables de entorno

Agregar variables del sistema a la computadora

1. Haga clic derecho en la computadora [Propiedades], [Configuración avanzada del sistema], [Variables de entorno], [Variables del sistema] [Ruta], agregue la ruta completa del directorio de compilación \ install \ x64 \ vc14 \ bin después del valor de la variable
2. Agregue variables de usuario Configuración:
Nombre de la variable: OPENCV
Valor de la variable: D: \ opencv \ build \ install

Variables de entorno en el sistema VS

1. Administrador de propiedades-> Configuración-> Directorio VC ++-> Incluir directorio, agregue:
Inserte la descripción de la imagen aquí
2. Administrador de propiedades-> Configuración-> Directorio VC ++-> Directorio de biblioteca, agregue:
Inserte la descripción de la imagen aquí
3. Conector-> Entrada-> Dependencias adicionales , Agregue la biblioteca:
Inserte la descripción de la imagen aquí
los dos archivos lib en esta carpeta
Inserte la descripción de la imagen aquí

3. Prueba

Prueba con el siguiente código:

#include"stdafx.h"
#include <stdio.h>
#include <iostream>
#include "opencv2/opencv.hpp"  
#include"opencv2/core/core.hpp"
#include "opencv2/highgui/highgui.hpp"
#include"opencv2/xfeatures2d.hpp"
using namespace cv;
using namespace std;
int main()
{
	Mat img_1 = imread("E:/exercise_temp/image_collect/1.jpg", CV_LOAD_IMAGE_COLOR);
	Mat img_2 = imread("E:/exercise_temp/image_collect/2.jpg", CV_LOAD_IMAGE_COLOR);
	Ptr<Feature2D> sift = xfeatures2d::SIFT::create();
	vector<KeyPoint> keypoints_1, keypoints_2;
	Mat descriptors_1, descriptors_2;
	sift->detectAndCompute(img_1, noArray(), keypoints_1, descriptors_1);
	sift->detectAndCompute(img_2, noArray(), keypoints_2, descriptors_2);
	//绘制特征点(关键点)
	drawKeypoints(img_1, keypoints_1, descriptors_1, Scalar(0, 0, 255));
	drawKeypoints(img_2, keypoints_2, descriptors_2, Scalar::all(-1), DrawMatchesFlags::DRAW_RICH_KEYPOINTS);
	imshow("img_1", descriptors_1);
	imshow("img_2", descriptors_2);
	waitKey(0);
	return 0;
}

Resuelve algunos problemas:

1. Algunos problemas pueden ser reiniciar la computadora después de configurar las variables del sistema. En ese momento, tuve muchos problemas y reinicié la computadora varias veces durante el proceso de exploración continua, por lo que puedo tratar de resolverlos.

2. Si el proyecto en ejecución no puede localizar el error del punto de entrada del programa, puede ser que opencv se haya configurado antes, debe verificar la ruta en la variable de entorno de los pasos anteriores, modificar la ruta original a una nueva ruta y cambiar el VC ++ en el administrador de propiedades El directorio de archivos de la biblioteca y el directorio de inclusión del directorio se cambian como se describió anteriormente, y luego la clave es eliminar todos los archivos .dll con las palabras opencv en la carpeta syswow64 y la carpeta system32 en el directorio de Windows de la unidad C, y luego Ejecuta el proyecto.
Tuve este problema en ese momento y eliminé los siguientes archivos en la carpeta system32:
Inserte la descripción de la imagen aquí
Entonces, si no había un archivo opencv en el archivo syswow64, no importaba, ¡ y ejecuté el código nuevamente y lo logré!

26 artículos originales publicados · elogiados 0 · visitas 1206

Supongo que te gusta

Origin blog.csdn.net/weixin_44264994/article/details/103816028
Recomendado
Clasificación