
Nach der Installation von OpenCV3.2.0 mit den Contrib-Modulen auf Ubuntu gehen Sie folgendermaßen vor: http://www.samontab.com/web/2017/06/installing-opencv-3-2-0-with-contrib-modules-in-ubuntu-16-04-lts/
Ich führe den Python-Beispielcode aus:
cd <opencv3.2.0_dir>/samples/python/
python asift.py
und ich erhalte die folgende Fehlermeldung:
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
Beim Ausführen anderer Python-Beispiele tritt derselbe Fehler auf.
Ich habe die Antwort bei Google nicht gefunden. Wie kann ich das Problem beheben?
Antwort1
Das ist einbekannter Fehler in den Contrib-Modulen, insbesondere im Freetype-Modul, mit dem Sie UTF-8-Zeichenfolgen zeichnen können.
Führen Sie vor dem Kompilieren von OpenCV 3.2 diesen Befehl aus:
sed -i 's/${freetype2_LIBRARIES} ${harfbuzz_LIBRARIES}/${FREETYPE_LIBRARIES} ${HARFBUZZ_LIBRARIES}/g' ../opencv_contrib-3.2.0/modules/freetype/CMakeLists.txt
Danach sollten Sie die Python-Beispiele ausführen können.
Ich habe übrigens auch das von Ihnen verlinkte Tutorial aktualisiert, um diesen Fix einzuschließen.