Compilare opencv 3 da python anaconda

Installazione, configurazione e utilizzo di applicativi multimediali, masterizzazione, acquisizione e codec audio/video, streaming e altro.
Frank-95
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 299
Iscrizione: sabato 5 dicembre 2009, 14:32
Desktop: Mate
Distribuzione: Mint 18.1
Sesso: Maschile

Compilare opencv 3 da python anaconda

Messaggio da Frank-95 »

Salve a tutti!

Sono giorni che mi scervello per usare questa benedetta libreria su mint senza successo.

Sul fisso windows uso la versione opencv3 di pip e funziona tutto bene, però ho la necessità di averlo anche sul portatile con linux. La versione di pip compilata non supporta i video, che, guarda caso, è l'unica cosa che mi serve... Ho provato a compilarmelo seguendo guide online nei giorni scorsi e non ci sono riuscito (oltre al fatto che ho dovuto installare 1 GB di pacchetti -dev). Poi ho trovato che su anaconda (che non ho ben capito cosa sia ma mi basta che mi faccia girare opencv), c'era una versione compilata. Controllo, e ancora una volta lo compilano senza supporto ai video... Io vi chiedo, perché? È così difficile compilare questa piccola cosa in più?

Comunque sembra più facile da compilare in questa piattaforma, perché non mi richiede millemila pacchetti (link). Cito:
$ conda install conda-build
$ git clone https://github.com/menpo/conda-opencv3
$ cd conda-opencv3
$ conda config --add channels menpo
$ conda build conda/
$ conda install /PATH/TO/OPENCV3/PACKAGE.tar.gz
E ho cambiato il file build.sh per far compilare ffmpeg.

Praticamente rimane bloccato dopo [100%] built target opencv_tracking, per 20 minuti buoni e poi ho:

Codice: Seleziona tutto

[tantissime voci come queste sotto]
    setting rpath to: $ORIGIN/../../lib
patchelf: file: /home/francesco/miniconda3/conda-bld/opencv3_1493814391652/_b_env_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold_placehold/matlab/+cv/waitKey.mexa64
    setting rpath to: $ORIGIN/../../lib
Fixing permissions
Detected hard-coded path in binary file lib/libopencv_core.so.3.1.0
Detected hard-coded path in text file lib/pkgconfig/opencv.pc
Detected hard-coded path in text file matlab/+cv/mex.m
/home/francesco/miniconda3/conda-bld/linux-64/opencv3-3.1.0-py36_0.tar.bz2
updating index in: /home/francesco/miniconda3/conda-bld
updating index in: /home/francesco/miniconda3/conda-bld/noarch
updating index in: /home/francesco/miniconda3/conda-bld/linux-64
updating: opencv3-3.1.0-py36_0.tar.bz2
updating index in: /home/francesco/miniconda3/conda-bld
TEST START: /home/francesco/miniconda3/conda-bld/linux-64/opencv3-3.1.0-py36_0.tar.bz2
Deleting work directory, /home/francesco/miniconda3/conda-bld/opencv3_1493814391652/work/opencv-3.1.0
updating index in: /home/francesco/miniconda3/conda-bld/linux-64
updating index in: /home/francesco/miniconda3/conda-bld/noarch

The following NEW packages will be INSTALLED:

    mkl:        2017.0.1-0         
    numpy:      1.12.1-py36_0      
    opencv3:    3.1.0-py36_0  local
    openssl:    1.0.2k-1           
    pip:        9.0.1-py36_1       
    python:     3.6.1-0            
    readline:   6.2-2              
    setuptools: 27.2.0-py36_0      
    sqlite:     3.13.0-0           
    tk:         8.5.18-0           
    wheel:      0.29.0-py36_0      
    xz:         5.2.2-1            
    zlib:       1.2.8-3            

+ source /home/francesco/miniconda3/bin/activate /home/francesco/miniconda3/conda-bld/opencv3_1493814391652/_t_env
+ /home/francesco/miniconda3/conda-bld/opencv3_1493814391652/_t_env/bin/python -s /home/francesco/miniconda3/conda-bld/opencv3_1493814391652/test_tmp/run_test.py
import: 'cv2'
Traceback (most recent call last):
  File "/home/francesco/miniconda3/conda-bld/opencv3_1493814391652/test_tmp/run_test.py", line 2, in <module>
    import cv2
ModuleNotFoundError: No module named 'cv2'
TESTS FAILED: opencv3-3.1.0-py36_0
Da quel che vedo pare che riesce a crearsi il file tar.bz2 e fa il test senza che io lanci l'ultimo comando di quelli postati all'inizio, solo che lo fallisce e se apro poi la cartella mi ritrovo il file in /conda-bld/broken. Inoltre tutte le librerie che vuole installare in realtà già lo sono.

Questa storia della compilazione mi sembra un po' eccessiva e inutile per me, e per quanto devo effettivamente usare la libreria.

Qualcuno ha qualche idea su come posso andare avanti, magari senza ricominciare da capo, visto che ho ancora la cartella con tutti i file compilati? O l massimo qualcuno mi può passare i file compilati?

Grazie mille a tutti!
Avatar utente
wilecoyote
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 15721
Iscrizione: giovedì 20 agosto 2009, 16:21
Desktop: Kubuntu et alii
Distribuzione: 9.04 32bit 14/18/20/22.04 LTS 64bit
Sesso: Maschile
Località: Ceranesi - Ge

Re: Compilare opencv 3 da python anaconda

Messaggio da wilecoyote »

:) Salve, aiutami a capire poiché qualcosa mi sfugge.

Leggo in firma che usi la release Precise 12.04 LTS è esatto ?

Se lo è non hai nessuna speranza di compilare Anaconda se prima non avanzi di release, tanto per esemplificare nell'output chiede come versioni per compilare, Sqlite 3.13.0-0 ed in Trusty ho la 3.8.2, Wheel (python-wheel) 0.29.0-py36_0 ed in Trusty ho 0.24.0-1, Tk 8.5.18-0 ed in Trusty ho 8.5.15, ecc.

Quanto ad Opencv3 da dove l'hai scaricato ? Così provo la compilazione.

:ciao: Ciao

P.S. dimenticavo :shy: , Precise 12.04 LTS è andato fuori supporto.
ACER Extensa 5230E 2,2 Ghz cpu Celeron 900 hdd 160 GB Ram 1 GB scheda video Intel GM500
ACER Extensa 5635Z 2,2 Ghz cpu Celeron T3100 hdd 320 GB Ram 4 GB scheda video Intel Mobile 4
Quando una Finestra chiusa incontra un Pinguino la Finestra chiusa è una Finestra aperta.
Frank-95
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 299
Iscrizione: sabato 5 dicembre 2009, 14:32
Desktop: Mate
Distribuzione: Mint 18.1
Sesso: Maschile

Re: Compilare opencv 3 da python anaconda

Messaggio da Frank-95 »

No scusa, quella firma risale a anni e anni fa e non l'ho più cambiata perché poi ho usato windows per diversi anni :D :D

Attualmente uso Mint 18.1

E ho scaricato opencv dal link nel primo post
Avatar utente
wilecoyote
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 15721
Iscrizione: giovedì 20 agosto 2009, 16:21
Desktop: Kubuntu et alii
Distribuzione: 9.04 32bit 14/18/20/22.04 LTS 64bit
Sesso: Maschile
Località: Ceranesi - Ge

Re: Compilare opencv 3 da python anaconda

Messaggio da wilecoyote »

:) Salve, intanto correggi la firma, a scanso d'altri quiproquo.

Se non erro la 18 è basata su Xenial 16.04 LTS, per cui le versioni dovrebbero essere adeguate, leggo anche che manca il 'module cv2', è installato il pacchetto che lo contiene (credo trattasi di libopencv-dev) ?

Non hai postato da dove hai scaricato il Opencv3.

:ciao: Ciao
ACER Extensa 5230E 2,2 Ghz cpu Celeron 900 hdd 160 GB Ram 1 GB scheda video Intel GM500
ACER Extensa 5635Z 2,2 Ghz cpu Celeron T3100 hdd 320 GB Ram 4 GB scheda video Intel Mobile 4
Quando una Finestra chiusa incontra un Pinguino la Finestra chiusa è una Finestra aperta.
Frank-95
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 299
Iscrizione: sabato 5 dicembre 2009, 14:32
Desktop: Mate
Distribuzione: Mint 18.1
Sesso: Maschile

Re: Compilare opencv 3 da python anaconda

Messaggio da Frank-95 »

Scusa un attimo.

Ma quegli script che scarico con git clone non servono per automatizzare lo scaricamento e la compilazione di opencv? Se apri il file sh o bat dentro la cartella conda, si vede pure la chiamata a :
Quindi suppongo che scarichi e compili in automatico no? Correggimi se sbaglio. Non ti ho detto dove l'ho scaricato perché appunto ho seguito solo quei passaggi.
$ conda install conda-build
$ git clone https://github.com/menpo/conda-opencv3
$ cd conda-opencv3
$ conda config --add channels menpo
$ conda build conda/
$ conda install /PATH/TO/OPENCV3/PACKAGE.tar.gz
Infatti al penultimo passaggio ci mette una mezz'ora, in cui (suppongo) tenta di compilare opencv, altrimenti che fa in tutto quel tempo?

"No module named cv2" non me lo dice perché tenta di fare ciò?
TEST START: /home/francesco/miniconda3/conda-bld/linux-64/opencv3-3.1.0-py36_0.tar.bz2
Quindi prova ad importare opencv ma non lo trova
Avatar utente
wilecoyote
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 15721
Iscrizione: giovedì 20 agosto 2009, 16:21
Desktop: Kubuntu et alii
Distribuzione: 9.04 32bit 14/18/20/22.04 LTS 64bit
Sesso: Maschile
Località: Ceranesi - Ge

Re: Compilare opencv 3 da python anaconda

Messaggio da wilecoyote »

:) Salve, finito or ora la compilazione sia di Conda che OpenCV, versione Python 2.7 poiché sul Trusty il Python 3 è alla versione 3.4.

Non sò come si usa, e neanche che farmene sinceramente, però la compilazione è andata liscia liscia, ti posto un estratto d'essa:

wilecoyote@MonumentValley:~/Conda$ bash Miniconda2-latest-Linux-x86_64.sh

Welcome to Miniconda2 4.3.11 (by Continuum Analytics, Inc.)

In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue
...
...

Miniconda2 will now be installed into this location:
/home/wilecoyote/miniconda2

- Press ENTER to confirm the location
- Press CTRL-C to abort the installation
- Or specify a different location below

[/home/wilecoyote/miniconda2] >>>
PREFIX=/home/wilecoyote/miniconda2
installing: python-2.7.13-0 ...
installing: cffi-1.9.1-py27_0 ...
installing: conda-env-2.6.0-0 ...
installing: cryptography-1.7.1-py27_0 ...
installing: enum34-1.1.6-py27_0 ...
installing: idna-2.2-py27_0 ...
installing: ipaddress-1.0.18-py27_0 ...
installing: libffi-3.2.1-1 ...
installing: openssl-1.0.2k-0 ...
installing: pyasn1-0.1.9-py27_0 ...
installing: pycosat-0.6.1-py27_1 ...
installing: pycparser-2.17-py27_0 ...
installing: pyopenssl-16.2.0-py27_0 ...
installing: readline-6.2-2 ...
installing: requests-2.12.4-py27_0 ...
installing: ruamel_yaml-0.11.14-py27_1 ...
installing: setuptools-27.2.0-py27_0 ...
installing: six-1.10.0-py27_0 ...
installing: sqlite-3.13.0-0 ...
installing: tk-8.5.18-0 ...
installing: yaml-0.1.6-0 ...
installing: zlib-1.2.8-3 ...
installing: conda-4.3.11-py27_0 ...
installing: pip-9.0.1-py27_1 ...
installing: wheel-0.29.0-py27_0 ...
Python 2.7.13 :: Continuum Analytics, Inc.
creating default environment...
installation finished.
...
···

For this change to become active, you have to open a new terminal.

Thank you for installing Miniconda2!

Share your notebooks and packages on Anaconda Cloud!
Sign up for free: https://anaconda.org
wilecoyote@MonumentValley:~/miniconda2$ /home/wilecoyote/miniconda2/bin/conda install conda-build
Fetching package metadata .........
Solving package specifications: .

Package plan for installation in environment /home/wilecoyote/miniconda2:

The following NEW packages will be INSTALLED:

beautifulsoup4: 4.5.3-py27_0
chardet: 3.0.2-py27_0
conda-build: 2.1.10-py27_0
conda-verify: 2.0.0-py27_0
contextlib2: 0.5.4-py27_0
filelock: 2.0.7-py27_0
futures: 3.0.5-py27_0
jinja2: 2.9.6-py27_0
markupsafe: 0.23-py27_2
patchelf: 0.9-0
pkginfo: 1.4.1-py27_0
pycrypto: 2.6.1-py27_4
pyyaml: 3.12-py27_0

The following packages will be UPDATED:

conda: 4.3.11-py27_0 --> 4.3.17-py27_0

Proceed ([y]/n)? y
...
...
conda-4.3.17-p 100% |########################################################| Time: 0:00:01 327.79 kB/s
conda-build-2. 100% |########################################################| Time: 0:00:00 352.39 kB/s
wilecoyote@MonumentValley:~/miniconda2$ cd /home/wilecoyote/Apps/conda-opencv3-master
...
...
wilecoyote@MonumentValley:~/Apps/conda-opencv3-master$ /home/wilecoyote/miniconda2/bin/conda config --add channels menpo
wilecoyote@MonumentValley:~/Apps/conda-opencv3-master$ /home/wilecoyote/miniconda2/bin/conda build conda/
BUILD START: opencv3-3.1.0-py27_0
updating index in: /home/wilecoyote/miniconda2/conda-bld/linux-64
updating index in: /home/wilecoyote/miniconda2/conda-bld/noarch

The following NEW packages will be INSTALLED:

bzip2: 1.0.6-3
cmake: 3.6.3-0
curl: 7.52.1-0
eigen: 3.2.7-0 menpo
expat: 2.1.0-0
mkl: 2017.0.1-0
ncurses: 5.9-10
numpy: 1.12.1-py27_0
openssl: 1.0.2k-1
pip: 9.0.1-py27_1
python: 2.7.13-0
readline: 6.2-2
setuptools: 27.2.0-py27_0
sqlite: 3.13.0-0
tk: 8.5.18-0
wheel: 0.29.0-py27_0
xz: 5.2.2-1
zlib: 1.2.8-3

Source cache directory is: /home/wilecoyote/miniconda2/conda-bld/src_cache
Downloading source to cache: opencv-3.1.0.tar.gz
Downloading https://github.com/Itseez/opencv/archive/3.1.0.tar.gz
Success
Extracting download
...
...
hold_placehold_placehold_placehold_placehold_placehold_placehol/lib/libopencv_text.so.3.1.0
setting rpath to: $ORIGIN/.
Fixing permissions
Detected hard-coded path in binary file lib/libopencv_core.so.3.1.0
Detected hard-coded path in text file lib/pkgconfig/opencv.pc
/home/wilecoyote/miniconda2/conda-bld/linux-64/opencv3-3.1.0-py27_0.tar.bz2
updating index in: /home/wilecoyote/miniconda2/conda-bld
updating index in: /home/wilecoyote/miniconda2/conda-bld/noarch
updating index in: /home/wilecoyote/miniconda2/conda-bld/linux-64
updating: opencv3-3.1.0-py27_0.tar.bz2
updating index in: /home/wilecoyote/miniconda2/conda-bld
TEST START: /home/wilecoyote/miniconda2/conda-bld/linux-64/opencv3-3.1.0-py27_0.tar.bz2
Deleting work directory, /home/wilecoyote/miniconda2/conda-bld/opencv3_1493899884179/work/opencv-3.1.0
updating index in: /home/wilecoyote/miniconda2/conda-bld/linux-64
updating index in: /home/wilecoyote/miniconda2/conda-bld/noarch

The following NEW packages will be INSTALLED:

mkl: 2017.0.1-0
numpy: 1.12.1-py27_0
opencv3: 3.1.0-py27_0 local
openssl: 1.0.2k-1
pip: 9.0.1-py27_1
python: 2.7.13-0
readline: 6.2-2
setuptools: 27.2.0-py27_0
sqlite: 3.13.0-0
tk: 8.5.18-0
wheel: 0.29.0-py27_0
zlib: 1.2.8-3

+ source /home/wilecoyote/miniconda2/bin/activate /home/wilecoyote/miniconda2/conda-bld/opencv3_1493899884179/_t_env
+ /home/wilecoyote/miniconda2/conda-bld/opencv3_1493899884179/_t_env/bin/python -s /home/wilecoyote/miniconda2/conda-bld/opencv3_1493899884179/test_tmp/run_test.py
import: u'cv2'
import: u'cv2.xfeatures2d'
TEST END: /home/wilecoyote/miniconda2/conda-bld/linux-64/opencv3-3.1.0-py27_0.tar.bz2
INFO conda_build.config:__exit__(432): --dirty flag not specified. Removing build folder after successful build/test.

# If you want to upload package(s) to anaconda.org later, type:

anaconda upload /home/wilecoyote/miniconda2/conda-bld/linux-64/opencv3-3.1.0-py27_0.tar.bz2

# To have conda build upload to anaconda.org automatically, use
# $ conda config --set anaconda_upload yes

anaconda_upload is not set. Not uploading wheels: []
wilecoyote@MonumentValley:~/Apps/conda-opencv3-master$ cd /home/wilecoyote/miniconda2/conda-bld/linux-64
wilecoyote@MonumentValley:~/miniconda2/conda-bld/linux-64$ /home/wilecoyote/miniconda2/bin/conda install opencv3-3.1.0-py27_0.tar.bz2
wilecoyote@MonumentValley:~/miniconda2/conda-bld/linux-64$
Se ti servisse per confronto, posso provare a postarti l'output integrale zippandolo, circa 318.000 caratteri...

Come link chiedevo quello di OpenCV da pip, così provo anch'esso.

:ciao: Ciao

EDIT: opps, non avevo selezionato le 2 ultime righe di codice dal terminale, corretto.
ACER Extensa 5230E 2,2 Ghz cpu Celeron 900 hdd 160 GB Ram 1 GB scheda video Intel GM500
ACER Extensa 5635Z 2,2 Ghz cpu Celeron T3100 hdd 320 GB Ram 4 GB scheda video Intel Mobile 4
Quando una Finestra chiusa incontra un Pinguino la Finestra chiusa è una Finestra aperta.
Frank-95
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 299
Iscrizione: sabato 5 dicembre 2009, 14:32
Desktop: Mate
Distribuzione: Mint 18.1
Sesso: Maschile

Re: Compilare opencv 3 da python anaconda

Messaggio da Frank-95 »

Ciao, si magari mandami il file zip così faccio un confronto grazie :)

Comunque da pip io ho fatto semplicemente lanciato "sudo python -m pip install opencv-python"
Avatar utente
wilecoyote
Tenace Tecnocrate
Tenace Tecnocrate
Messaggi: 15721
Iscrizione: giovedì 20 agosto 2009, 16:21
Desktop: Kubuntu et alii
Distribuzione: 9.04 32bit 14/18/20/22.04 LTS 64bit
Sesso: Maschile
Località: Ceranesi - Ge

Re: Compilare opencv 3 da python anaconda

Messaggio da wilecoyote »

:) Salve, ti posto il file zippato come allegato.

:ciao: Ciao
Allegati
log-comp-conda.txt.zip
(25.15 KiB) Scaricato 46 volte
ACER Extensa 5230E 2,2 Ghz cpu Celeron 900 hdd 160 GB Ram 1 GB scheda video Intel GM500
ACER Extensa 5635Z 2,2 Ghz cpu Celeron T3100 hdd 320 GB Ram 4 GB scheda video Intel Mobile 4
Quando una Finestra chiusa incontra un Pinguino la Finestra chiusa è una Finestra aperta.
Scrivi risposta

Ritorna a “Multimediale”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 3 ospiti