Ошибка cv2.imshow: ошибка Fontconfig: не удалось прочитать файл конфигурации - PullRequest
2 голосов
/ 14 июля 2020

при запуске кода

import numpy as np
import cv2

cap = cv2.VideoCapture(0)

while(True):
    # Capture frame-by-frame
    ret, frame = cap.read()

    # Our operations on the frame come here
    gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)

    # Display the resulting frame
    cv2.imshow('frame',gray)
    if cv2.waitKey(1) & 0xFF == ord('q'):
        break

# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()

у меня возникла ошибка:

Ошибка Fontconfig: не удалось прочитать файл конфигурации

(python: 5882): Gtk- КРИТИЧЕСКИЙ **: IA__gtk_widget_style_get: утверждение 'GTK_IS_WIDGET (widget)' не удалось

Ответы [ 2 ]

7 голосов
/ 15 июля 2020

TL; DR: Это не отличное решение, но я решил его, понизив свою версию, просто выполнив:

pip uninstall opencv-python

pip install -Iv opencv-python==4.2.0.34

У меня была такая же проблема с тех пор, как я перешел на OpenCV 4.3.0.36 . Я использую Ubuntu 16.04 и могу сузить проблему до библиотеки libfontconfig-42c558d2.so.1.11.1 в каталоге opencv_ python .libs .

Кстати, я использую виртуальную среду. На мой взгляд, эта проблема связана с cla sh между libfontconfig операционной системы и собственной версией OpenCV, потому что в файле лицензии есть утверждение, читающееся следующим образом.

libfontconfig распространяется во всех пакетах opencv- python Linux и macOS.

... и у меня не было подобных проблем в предыдущих версиях.

Вы можете увидеть полный список версий CV здесь , если вам это подходит. Надеюсь, этот обход поможет, особенно если у вас есть дедлайн или что-то в этом роде.

0 голосов
/ 14 июля 2020

попробуйте отредактировать импорт cv2, потому что иногда возникают ошибки попробуйте from cv2 import cv2 может работать

...