在ubuntu 16.04上安装opencv后出现import cv2错误

在ubuntu 16.04上安装opencv后出现import cv2错误

在Ubuntu上按照以下步骤安装带有contrib模块的OpenCV3.2.0: http://www.samontab.com/web/2017/06/installing-opencv-3-2-0-with-contrib-modules-in-ubuntu-16-04-lts/

我运行python示例代码:

cd <opencv3.2.0_dir>/samples/python/
python asift.py

我收到以下错误:

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

运行其他python示例也会得到同样的错误。

我在 Google 上找不到答案。我该如何解决?

答案1

那是一个contrib 模块中的已知错误,特别是在 freetype 模块中,它允许您绘制 UTF-8 字符串。

在编译 OpenCV 3.2 之前,运行以下命令:

sed -i 's/${freetype2_LIBRARIES} ${harfbuzz_LIBRARIES}/${FREETYPE_LIBRARIES} ${HARFBUZZ_LIBRARIES}/g' ../opencv_contrib-3.2.0/modules/freetype/CMakeLists.txt

此后,您应该能够运行 Python 示例。

顺便说一下,我还更新了您链接的教程以包含此修复程序。

相关内容