2011-03-06 8 views
7

Estoy intentando ejecutar algún código precompilado (el código fuente no está disponible) en Ubuntu, que requiere la instalación de openCV. Instalé ayer la última versión de openCV (del SVN) y la instalé de acuerdo con la guía de instalación de Debian en el sitio web de openCV (cmake -> make -> sudo make install) y todo parecía ir bien.falta libcxcore.so.2 en openCV

Ahora cuando intento ejecutar el código precompilado, obtengo el error "./stipdet: error al cargar las bibliotecas compartidas: libcxcore.so.2: no se puede abrir el archivo de objeto compartido: No existe dicho archivo o directorio" Parece que otras personas que están teniendo un problema similar lograron solucionarlo moviendo libcxcore.so.2 de la carpeta opencv lib a otro lugar, pero no tengo libcxcore.so.2 en mi carpeta opencv. Veo libopencv_core.so.2.2 allí entre otras cosas. ¿Podría ser que el nombre de libcxcore se haya cambiado en la última versión de openCV? ¿O no lo instalé correctamente?

por cierto: correr localizar libcxcore en la terminal no devuelve nada

+0

trabajando en STIP? –

+1

Sí, quiero usar el detector STIP de Laptevs y los descriptores HOGHOF. Afortunadamente, está funcionando ahora :) – Bart

Respuesta

8

Tuve el mismo problema y resolví el problema instalando libcv, libcvaux, libhighgui y sus bibliotecas -dev de Synaptics. Pero el programa depende de las bibliotecas compartidas de libcv.so.2, pero Synaptics instala libcv.so.4.0.0. Así que creé enlaces simbólicos para todas las bibliotecas instalado ejecutando el comando:

sudo ln -s /usr/lib/libcxcore.so.4.0.0 /usr/lib/libcxcore.so.2 

y así sucesivamente para todas las bibliotecas que necesita el programa. Ahora está funcionando bien para mí.

+0

Gracias, intentaré esto si no funciona directamente con OpenCV 2.1 – Bart

+0

¡Lo probé, y funciona! Muchas gracias – Bart

+0

Me alegro de poder ayudar. –

1

Sí, los nombres de biblioteca han cambiado. Pruebe OpenCV 2.1 o 2.0 (creo que cambió para 2.2 o 2.1). Si su código precompilado es para ubuntu, ¿por qué no instaló el paquete ubuntu opencv?

+0

Probé el paquete de Ubuntu precompilado creado por Gijs Molenaar a través de los comandos apt-get, pero recibo errores que dicen que no se pudo descargar – Bart

+0

@bart: hay paquetes de sistema opencv, como ya habrás notado . – etarion

9

Tuve el mismo problema al trabajar en STIP y OpenCV 2.2. Para resolver el problema, simplemente cree enlaces simbólicos de la siguiente manera. Esto funciona para mi.

libcvaux.so.2 -> /usr/lib/libopencv_video.so.2.2.0 
libcv.so.2 -> /usr/lib/libopencv_legacy.so.2.2.0 
libcxcore.so.2 -> /usr/lib/libopencv_core.so.2.2.0 
libhighgui.so.2 -> /usr/lib/libopencv_highgui.so.2.2.0 
libml.so.2 -> /usr/lib/libopencv_ml.so.2.2.0 
3

una pequeña adición a la respuesta (correcta) por Zifei Tong: Uno tiene que hacer que los enlaces simbólicos y también tiene que exportar LD_LIBRARY_PATH para la fiesta, que es:

libcvaux.so.2 -> /usr/lib/libopencv_video.so.2.2.0 
libcv.so.2 -> /usr/lib/libopencv_legacy.so.2.2.0 
libcxcore.so.2 -> /usr/lib/libopencv_core.so.2.2.0 
libhighgui.so.2 -> /usr/lib/libopencv_highgui.so.2.2.0 
libml.so.2 -> /usr/lib/libopencv_ml.so.2.2.0 

export LD_LIBRARY_PATH="path to symbolic links' directory"