
Depois de instalar o OpenCV3.2.0 com os módulos de contribuição no Ubuntu seguindo este caminho: http://www.samontab.com/web/2017/06/installing-opencv-3-2-0-with-contrib-modules-in-ubuntu-16-04-lts/
Eu executo o código de amostra python:
cd <opencv3.2.0_dir>/samples/python/
python asift.py
e recebo o seguinte erro:
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
A execução de outras amostras python resultará no mesmo erro.
Não encontrei a resposta no google. Como faço para corrigir isso?
Responder1
Aquilo é umbug conhecido nos módulos de contribuição, especificamente no módulo freetype, que permite desenhar strings UTF-8.
Antes de compilar o OpenCV 3.2, execute este comando:
sed -i 's/${freetype2_LIBRARIES} ${harfbuzz_LIBRARIES}/${FREETYPE_LIBRARIES} ${HARFBUZZ_LIBRARIES}/g' ../opencv_contrib-3.2.0/modules/freetype/CMakeLists.txt
Depois disso, você poderá executar os exemplos do Python.
A propósito, também atualizei o tutorial que você vinculou para incluir essa correção.