OpenCV 2.4.2 tardó 6 horas en compilarse en la Raspberry Pi y me encantaría empaquetar todo como deb, pero nunca lo había hecho antes. ¿Cómo puedo empaquetar los archivos compilados para que descarguen o incluyan las otras bibliotecas necesarias?
OpenCV 2.4.2 tardó 6 horas en compilarse en la Raspberry Pi y me encantaría empaquetar todo como deb, pero nunca lo había hecho antes. ¿Cómo puedo empaquetar los archivos compilados para que descarguen o incluyan las otras bibliotecas necesarias?
Respuestas:
Si por OpenCV te refieres a las bibliotecas de visión por computadora en http://opencv.willowgarage.com/ , ya están empaquetadas para Debian por el Equipo de Ciencias de Debian.
Su mejor opción es descargar el paquete fuente debianised de su espejo Debian más cercano, modificar el debian / rules y / o Makefile o configurar, etc., según sea necesario para compilar correctamente en la frambuesa pi y reconstruir los paquetes.
El trabajo de empaque ya está hecho, no hay necesidad de hacerlo nuevamente ... y una y otra vez cada vez que desee actualizarlos.
Hay un montón de paquetes binarios, pero libopencv-dev es probablemente lo que desea comenzar con http://packages.debian.org/search?keywords=libopencv-dev
Pensé que agregaría una mejor respuesta para cualquier otra persona que observe este hilo.
Entonces, si ya ha tenido problemas para construir opencv en el dispositivo, probablemente haya seguido las instrucciones aquí:
http://docs.opencv.org/doc/tutorials/introduction/linux_install/linux_install.html
En ese caso, si no agrega el -D args
para anular dinámicamente los parámetros de CMake en el paso dos y simplemente ejecuta cmake ..
dentro del directorio de compilación (que creó), generará un CMakeCache.txt
archivo.
Si edita el CMakeCache.txt
archivo, puede cambiar:
CPACK_BINARY_DEB:BOOL=ON
... además de las otras variables especificadas en el enlace opencv anterior. En lugar de correr make
o make install
... simplemente correr make package
y la magia sucede.
Advertencia: si lo tiene WITH_CUDA:BOOL=ON
, puede tener problemas de dependencia con el empaquetador, y esa es una pregunta totalmente diferente ...
Para obtener más información, consulte los CPACK_*_*:BOOL
parámetros en los archivos cmake y consulte la documentación de CPack:
OpenCV-*-{libs,dev}.deb
Necesitas ambos. Creo que dev tiene los encabezados que ld usa para enlazar contra .so en libs. También puede resolver esto ejecutando dpkg -c OpenCV-*.deb
en el paquete, para enumerar los contenidos. Además, si creó esto desde source.tar, es posible que no tenga un número de versión y dpkg -i $pkg
no le guste. Puedes saber si dice OpenCV-unknown-*{dev,libs}.deb
En qué caso git clone github.com/Itseez/opencv
y git checkout $tag
en la pestaña de lanzamientos. Si construyes desde la parte superior del árbol, también obtienes una etiqueta en deb.
Esta página debe tener toda la información y tutoriales que necesita: http://wiki.debian.org/Packaging