
Después de instalar OpenCV3.2.0 con los módulos contrib en Ubuntu de esta manera: http://www.samontab.com/web/2017/06/installing-opencv-3-2-0-with-contrib-modules-in-ubuntu-16-04-lts/
Ejecuto el código de muestra de Python:
cd <opencv3.2.0_dir>/samples/python/
python asift.py
y me sale el siguiente error:
Traceback (most recent call last):
File "asift.py", line 26, in <module>
import cv2
ImportError: /usr/local/lib/libopencv_freetype.so.3.2: undefined symbol: hb_shape
Al ejecutar otras muestras de Python se producirá el mismo error.
No he encontrado la respuesta en google. ¿Cómo lo soluciono?
Respuesta1
Eso es unerror conocido en los módulos de contribución, específicamente en el módulo freetype, que permite dibujar cadenas UTF-8.
Antes de compilar OpenCV 3.2, ejecute este comando:
sed -i 's/${freetype2_LIBRARIES} ${harfbuzz_LIBRARIES}/${FREETYPE_LIBRARIES} ${HARFBUZZ_LIBRARIES}/g' ../opencv_contrib-3.2.0/modules/freetype/CMakeLists.txt
Después de eso, debería poder ejecutar las muestras de Python.
Por cierto, también actualicé el tutorial que vinculó para incluir esta solución.