Проблема с использованием OpenCV в WSL, при открытии Windows

#python #linux #opencv #computer-vision #windows-subsystem-for-linux

#python #linux #opencv #компьютерное зрение #windows-subsystem-for-linux

Вопрос:

Я использую WSL, и при запуске некоторого кода Python с OpenCV, который должен открыть другое окно, он выдает ошибку. Это код:

 import cv2 as cv

image = cv.imread("images/pic.jpg")
cv.imshow(0)
cv.waitKey(0)
 

И это ошибка, которую я получаю

 qt.qpa.xcb: could not connect to display 
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/home/user/.local/lib/python3.8/site-packages/cv2/qt/plugins" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this 
problem.

Available platform plugins are: xcb.

Aborted (core dumped)
 

Ответ №1:

Я столкнулся с аналогичной проблемой. Как рекомендовано большинством людей, я попытался поместить символическую ссылку и установить новые пакеты. Я изменил QT_PLUGIN_PATH, я также экспортировал AT_DEBUG_PLUGINS=1 . Эти параметры, похоже, не сработали для меня. Я был в Windows 10 с WSL2, запустил OpenCV cv2.image, который не отображался. Было сказано, что ошибки связаны с qt (как указано #josh merrian).

     qt.qpa.xcb: could not connect to display 
    qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "/home/user/.local/lib/python3.8/site-packages/cv2/qt/plugins" even though it was found.
    This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this 
    problem.

    Available platform plugins are: xcb.
    
    Aborted (core dumped)
 

Попробуйте запустить xeyes.

     sudo apt-get install x11-apps
    xeyes
 

Запускается ли он? Если нет, возможно, у вас та же проблема, что и у меня.

В моем случае я узнал, что в WSL2 нам нужен Xserver для развертывания графических приложений, ориентированных на Ubuntu. Я читал о Xming, а также о VcSrv. Я попробовал VcSrv, и это сработало для меня.

Смотрите: https://www.stat.ipb.ac.id/agusms/index.php/2019/01/15/how-to-run-graphical-linux-applications-on-bash-on-ubuntu-on-windows-10/

Надеюсь, это кому-то поможет. Удачи.

Ответ №2:

Вам необходимо включить среду для приложения с графическим интерфейсом на WSL.

Использование графического интерфейса для включения функций Windows

  1. Откройте меню «Пуск» и выполните поиск, чтобы включить или выключить функции Windows
  2. Выберите подсистему Windows для Linux
  3. Нажмите OK
  4. Перезагрузите компьютер при появлении запроса

Комментарии:

1. Вы установили какую-либо версию qt? Может быть, ты сможешь попробовать install libqt5gui5

Ответ №3:

обновите OpenCV с помощью следующей команды, используя pip

 pip3 install --upgrade opencv-python==4.3.0.36