Я только что установил Ubuntu-20.04 на WSL2. И я установил env miniconda с python 3.7, а затем установил opencv-python с помощью «conda install opencv». Но когда я пробую самый простой cv2.imshow, он жалуется ниже:
cv2.error: OpenCV(3.4.2)/tmp/build/80754af9/opencv-suite_1535558553474/work/modules/highgui/src/window.cpp:632: ошибка: (-2: неопределенная ошибка) Функция не реализована. Пересоберите библиотеку с поддержкой Windows, GTK+ 2.x или Carbon. Если вы используете Ubuntu или Debian, установите libgtk2.0-dev и pkg-config, затем повторно запустите cmake или настройте скрипт в функции «cvShowImage».
Кстати, я могу показать окно графика с помощью matplotlib.pyplot после того, как я установил VcXsrv и экспортировал DISPLAY=host_ip_in_wsl2:1.1. И я также заставляю свой графический процессор работать после установки обновления Windows 10 за ноябрь 2021 года, драйвера CUDA для WSL2 и набора инструментов CUDA 11.0. Я могу заставить Tensorflow 2.4.1 хорошо работать с GPU. Я могу скомпилировать даркнет с GPU и использовать его для YOLO v1.
Я кое-что погуглил. Говорят, что удалить opencv и переустановить с канала Menpo может это сделать. Но этот пост 5 лет назад и не для WSL.
Я также видел некоторые сообщения, демонстрирующие утомительную процедуру компиляции opencv-python из исходного кода.
Итак, как использовать opencv-python в Ubuntu-20.04 WSL2? Простые подходы, такие как "conda install..." или "pip install...", предпочтительнее. Также допустима компиляция из исходников.