Как установить OpenCV без драйверов nVidia

У меня есть ноутбук с встроенной графикой Intel. Я годами использую OpenCV с этой машиной, и мне удалось избежать ручной компиляции. Но в Ubuntu 13.10, когда я пытаюсь установить libopencv-dev из репозиториев, он приводит libopencv-ocl, что, похоже, зависит от драйверов nvidia. Позволяя установке драйвера полностью испортить мой xserver, и когда я делаю glxinfo впоследствии, я получаю это:

name of display: :0.0
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Error: couldn't find RGB GLX visual or fbconfig

Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".
Xlib:  extension "GLX" missing on display ":0.0".

Чтобы решить эту проблему, я очищаю все драйверы nVidia и переустанавливаю xserver, так же, как это было предложено здесь , и когда я очищаю драйверы nvidia, библиотеки разработки OpenCV также удаляются, как apt-get говорит мне, что они no longer needed. Это чуждо мне, потому что я ожидал предупреждения, что установил пакеты, которые зависят от этого, но как удалить зависимость, чтобы автоматически удалить пакет, который я установил, без предупреждений или запросов? Я понимаю, что это как-то связано с тем, что nVidia является поставщиком libopencv-ocl в репо. Как я мог обойти это? Я бы предпочел не компилировать OpenCV, если смогу помочь. Я видел похожих вопросов , но не подходящего ответа.

3
задан 23 May 2017 в 15:39

2 ответа

У меня была такая же проблема, чтобы обойти ее, вы можете установить альтернативного поставщика libopencl1. Если для вашей конкретной видеокарты ее нет (то есть для AMD / ATI, по-видимому, отсутствует в репозиториях), вы можете использовать универсальную:

sudo apt-get install ocl-icd-libopencl1

Если вы уже установили libopencv-dev , вы также захотите удалить избыточные пакеты, которые он принес:

sudo apt-get autoremove

Мне кажется странным, что провайдер Nvidia вводится по умолчанию, а не универсальным - возможно, какой-нибудь мастер упаковки может разобраться с этим .

Здесь есть ошибка для этой проблемы: https://bugs.launchpad.net/ubuntu/+source/opencv/+bug/1245260

0
ответ дан 23 May 2017 в 15:39
sudo apt-get install libopencv-highgui-dev

затем компилировать из источника, это также имеет то преимущество, что доступны несвободные модули SIFT и SURF.

0
ответ дан 23 May 2017 в 15:39

Другие вопросы по тегам:

Похожие вопросы: