Como instalar o OpenCV sem drivers nVidia

3

Eu tenho um laptop com gráficos Intel on-board. Eu tenho usado o OpenCV por anos com esta máquina e consegui evitar a compilação manual até agora. Mas no Ubuntu 13.10, quando tento instalar o libopencv-dev dos repositórios, ele traz junto o libopencv-ocl , que parece depender dos drivers nvidia. Deixando o driver instalar bagunça o meu xserver completamente e quando eu faço glxinfo depois, eu entendo isso:

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".

Para resolver isso, eu limpo todos os drivers da nVidia e reinstalei o xserver, da mesma forma que foi sugerido aqui , e quando Eu purgar os drivers nvidia, bibliotecas de desenvolvimento OpenCV também são removidos, como apt-get me diz que eles são no longer needed . Isso é estranho para mim, porque eu esperava um aviso de que eu instalei pacotes que dependem disso, mas como remover uma dependência remove automaticamente o pacote que eu instalei sem avisos ou perguntas? Eu entendo que tem algo a ver com a nVidia sendo o fornecedor do libopencv-ocl no repositório. Como eu poderia contornar isso? Eu preferiria não compilar o OpenCV se puder ajudar. Eu vi perguntas semelhantes , mas não uma resposta adequada.

    
por Subhamoy Sengupta 26.10.2013 / 00:30

2 respostas

4

Eu tive o mesmo problema, para contornar isso você pode instalar um provedor alternativo de libopencl1. Se não houver um disponível para sua placa gráfica específica (ou seja, um para o AMD / ATI parece estar ausente dos repositórios), você pode usar o genérico:

sudo apt-get install ocl-icd-libopencl1

Se você já instalou o libopencv-dev, você também vai querer remover os pacotes redundantes que ele trouxe:

sudo apt-get autoremove

Parece estranho para mim que o provedor da Nvidia seja trazido por padrão ao invés do genérico - talvez algum assistente de empacotamento possa resolver isso.

Existe um erro para este problema aqui: link

    
por molesmoke 29.10.2013 / 09:55
0
sudo apt-get install libopencv-highgui-dev

depois compile a partir da fonte, isso também tem um benefício que o moudle nonfree de SIFT e SURF está disponível.

    
por arcticfox 03.12.2013 / 16:58