Ezt https://www.pyimagesearch.com/2019/09/16/install-opencv-4-on-raspberry-pi-4-and-raspbian-buster/ majd minden lépését követve sikerül feltelepítenem forrásból az OpenCV 4- et.
Nem a virtualis környezet alá telepítettem, hanem a /home/pi alá.
pi@raspberrypi:~ $ python3
Python 3.7.3 (default, Dec 20 2019, 18:57:59)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ModuleNotFoundError: No module named 'cv2'
>>>
mit kell tennem, hogy a frissen telepített opencv elérhető legyen ?
pi@raspberrypi:~ $ uname -a
Linux raspberrypi 4.19.97-v7l+ #1294 SMP Thu Jan 30 13:21:14 GMT 2020 armv7l GNU/Linux
- 308 megtekintés
Hozzászólások
Ha nem standard helyre tetted, akkor a PYTHONPATH-t be kell állítani.
- A hozzászóláshoz be kell jelentkezni
Ok, hogyan kéne, hogy kinézzen, mi kerüljön bele?
üdv: virtualm
- A hozzászóláshoz be kell jelentkezni
Ha jól láttam, akkor /home/pi alatt vagy. Ha van ott egy __init__.py fájl, akkor nyertél.
Ha nem, akkor meg kellene keresni valahol. Lehet több is. Azok közül a gyökérhez közelebbi kell. ( OpenCVt még nem láttam). Azt a könyvtárat kellene felvenne a PYTONPATH-ba, valahogy így:
export PYTHONPATH=/home/pi
Először teszteld le, hogy így jó-e az python import.
- A hozzászóláshoz be kell jelentkezni
143 db __init__.py van az SDcardn.
Ebből 40- 50 db python 2.7
Ebből 40- 50 db python 3.5
Ebből 40- 50 db python 3.7
Mire fókuszáljak ?
üdv: virtualm
- A hozzászóláshoz be kell jelentkezni
itt is ugyanaz a hiba mint az előző szálban: nem vagy benne a python virtualenv-ben.
Azt kell megérteni hogy a virtualenv beállít egy csomó olyan keresési utat ami rá egyedül jellemző.
Tehát ha a leírás szerint a "cv" nevű virtualenv-be fordítottad és installáltad bele az opencv-t, akkor az onnan lesz elérhető csak.
Tehát:
$ cd ~
$ workon cv
$ python
>>> import cv2
>>> cv2.__version__
'4.1.1'
>>>
zászló, zászló, szív
- A hozzászóláshoz be kell jelentkezni
Nem akarok találgatni, de mintha nem virtenv alá tette volna:
> Nem a virtualis környezet alá telepítettem, hanem a /home/pi alá.
- A hozzászóláshoz be kell jelentkezni
akkor viszont nem követte minden lépését a tutorialnak
ja: "majd minden lépését követve" : így nehéz segíteni, pl. honnan tudjam h melyik symlinkelés maradt ki vagy sikerült rosszul?
zászló, zászló, szív
- A hozzászóláshoz be kell jelentkezni
A tutorial virtualenv alá küld, nem követtem. A tutorial swapp fájlt bővít, nem követtem mert bőven van ram. A fordítás és install jól, hiba nélkül lefutott, de a cv2 teszt elbukott.
üdv: virtualm
- A hozzászóláshoz be kell jelentkezni
Direkt ki akarom hagyni a virtualenv játékot, mert a "másik szálban" már igen hosszan leírtam, hogy a GPIO virtualenv alatt nem működik. Ezért most, itt, egy új, natív telepítést csinálok. A pip install megoldás működött, de még mindig teljesítmény okok miatt, forrásból telepítek, mert az gyorsabb és több szolgáltatás érhető el. ( ha működik )
üdv: virtualm
- A hozzászóláshoz be kell jelentkezni
ha lesz időm megpróbálom felrakni én is, rendszám felismeréshez úgyis kéne
szerintem változatlanul az a baj hogy a modul nincs a helyére rakva illetve a python-nak helyesen megmondva hogy hol keresse
zászló, zászló, szív
- A hozzászóláshoz be kell jelentkezni
sudo make install
sudo ldconfig
(az opencv4 forrás könyvtárból, értelemszerűen)
zászló, zászló, szív
- A hozzászóláshoz be kell jelentkezni
Hú bakker ezt is a /home/pi alatt adtam ki és ott hiba nélkül lefutott.
Szóval virtualenv nélkül kellene, hogy menjen.
Na újra nekifutok este.
üdv: virtualm
- A hozzászóláshoz be kell jelentkezni
arra kíváncsi lennék hogy a make install milyen makefile-ra futott le a /home/pi -ben...
ldconfig lefut, az rendben van
zászló, zászló, szív
- A hozzászóláshoz be kell jelentkezni
pi@raspberrypi:~ $ ls -l /home/pi/Makefile*
ls: '/home/pi/Makefile*' nem érhető el: Nincs ilyen fájl vagy könyvtár
A forditás, telepítés így zajlott:
sudo apt-get update && sudo apt-get upgrade
sudo apt-get install build-essential cmake pkg-config
sudo apt-get install libjpeg-dev libtiff5-dev libjasper-dev libpng-dev
sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev
sudo apt-get install libxvidcore-dev libx264-dev
sudo apt-get install libfontconfig1-dev libcairo2-dev
sudo apt-get install libgdk-pixbuf2.0-dev libpango1.0-dev
sudo apt-get install libgtk2.0-dev libgtk-3-dev
sudo apt-get install libatlas-base-dev gfortran
sudo apt-get install libhdf5-dev libhdf5-serial-dev libhdf5-103
sudo apt-get install libqtgui4 libqtwebkit4 libqt4-test python3-pyqt5
sudo apt-get install python3-dev
pip install "picamera[array]"
pip install --upgrade pip
wget -O opencv.zip https://github.com/opencv/opencv/archive/4.1.1.zip
wget -O opencv_contrib.zip https://github.com/opencv/opencv_contrib/archive/4.1.1.zip
unzip opencv.zip
unzip opencv_contrib.zip
mv opencv-4.1.1 opencv
mv opencv_contrib-4.1.1 opencv_contrib
cd ~/opencv
mkdir build
cd build
cmake -D CMAKE_BUILD_TYPE=RELEASE -D CMAKE_INSTALL_PREFIX=/usr/local -D OPENCV_EXTRA_MODULES_PATH=~/opencv_contrib/modules -D ENABLE_NEON=ON -D ENABLE_VFPV3=ON -D BUILD_TESTS=OFF -D INSTALL_PYTHON_EXAMPLES=OFF -D OPENCV_ENABLE_NONFREE=ON -D CMAKE_SHARED_LINKER_FLAGS=-latomic -D BUILD_EXAMPLES=OFF ..
make -j4
cd ~
python3
Ákos, irtam itt üzenetet.
üdv: virtualm
- A hozzászóláshoz be kell jelentkezni
Nem tudom, jól értem-e de talán a /home/pi/opencv alkönyvátrban van a Makefile-od.
Ha ez igaz, akkor :
cd /home/pi/opencv
sudo make install
Mint előbb írta volt a kolléga.
- A hozzászóláshoz be kell jelentkezni
igen ez fentebb igy, hasonlóan néz ki :
cd ~/opencv
mkdir build
cd build
cmake
üdv: virtualm
- A hozzászóláshoz be kell jelentkezni
a make install az egy külön lépés (más fut le)
kérlek futtasd le a megfelelő könyvtárban.
zászló, zászló, szív
- A hozzászóláshoz be kell jelentkezni
Az eredeti telepítésnél kiadtam, de lehet, hogy rossz helyen. futok ujra egy kört mert mot, utólag csinálva hibát dob, akkor hiba nélkül lefutott.
pi@raspberrypi:~ $ cd opencv
pi@raspberrypi:~/opencv $ cd build
pi@raspberrypi:~/opencv/build $ sudo make install
make: /usr/bin/cmake: Command not found
make: *** [Makefile:1548: cmake_check_build_system] Error 127
pi@raspberrypi:~/opencv/build $
üdv: virtualm
- A hozzászóláshoz be kell jelentkezni
Köszönöm a segítséget. Újra, harmadjára is nekifutottam és sikerült virtualenv nélküli natív telepítés a korábbi ötleteid alapján.
pi@raspberrypi:~ $ python3
Python 3.7.3 (default, Dec 20 2019, 18:57:59)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
>>> cv2.__version__
'4.3.0-dev'
>>>
üdv: virtualm
- A hozzászóláshoz be kell jelentkezni
hacsak nem az a cel, hogy ket opencv-d is legyen, hanem a friss 4-esre volt szukseged, akkor a a bullseye openvc-jet ujrabuildelve busteren (ha jol latom a build-depbe nincs semmi verzio megkotes), kaptal volna oda valo deb csomagokat. ha pi-n buildelni maceras, akkor x86-on is lehet (qemu-user-static)
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
Több heti fórumozás, levelezés és abból eredő olvasás volt. Amikor sikerül valami az már élvezetes linux reszelés, de amikor hosszú napokon keresztül nincs sikerélmény az nem annyira jó. Még egyszer köszönöm a segítségeket.
üdv: virtualm
- A hozzászóláshoz be kell jelentkezni
nem annyira nehez, mint sokan gondoljak. debian package rebuild egesz jol van doksizva. es megfelelo kulcsszavakkal jol keresheto. A pi image "emulaciora" is van leiras. (persze nem jessie imagevel kell csinalni).
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!
- A hozzászóláshoz be kell jelentkezni
Most már nem macerás a dolog, mert le is dokumentáltam, ha újra kéne és mentést is csináltam róla. Ezzel kapcsolatban a kérdésem az, hogy ha az opencv 20- 30- ot gyorsul, mert helyben fordított, optimalizált forrásból települt, akkor ezt python3- al és más programokkal is meglehet csinálni? Hogyan ?
üdv: virtualm
- A hozzászóláshoz be kell jelentkezni
Itt van leírás, ennek alapján tudsz fordítani. Ha ezt akarod követni, akkor egy üres Linuxszal kel indulnod, és kézzel telepítgetni, a mostani állapotod felejtős.
Ha tuningolni akarsz, akkor az hosszú idő lehet, mire optimumot érsz el. De sokat lehet tenulni belőle :)
- A hozzászóláshoz be kell jelentkezni
Hú ez nagyon izgalmas ahogy belenéztem. Köszönöm.
üdv: virtualm
- A hozzászóláshoz be kell jelentkezni