visionlpro
Ceci est une ancienne révision du document !
Table des matières
Matériel et logiciel utilisés
Nous allons utiliser une carte raspberry Pi à laquelle un module caméra et une carte d'extension SenseHat on été ajoutées.
Les logiciels utilisés sont une distribution Linux Raspbian à laquelle les paquets suivants ont été ajoutés:
sudo apt-get update && sudo apt-get upgrade sudo apt-get install python3-opencv libjasper-dev libqtgui4 libqt4-test libtiff5 libgstreamer1.0-0 libqtcore4 libopenexr23 libatlas3-base libsz2 build-essential cmake pkg-config libjpeg-dev libtiff5-dev libjasper-dev libpng-dev libavcodec-dev libavformat-dev libswscale-dev libv4l-dev libxvidcore-dev libx264-dev libfontconfig1-dev libcairo2-dev libgdk-pixbuf2.0-dev libpango1.0-dev libgtk2.0-dev libgtk-3-dev libatlas-base-dev gfortran libhdf5-dev libhdf5-serial-dev libhdf5-103 libqtgui4 libqtwebkit4 libqt4-test python3-pyqt5 python3-dev nano python3-pyqt4 screen imagemagick gitk iotop lsof geeqie
Les paquets python suivants on égalements été installés:
sudo python3 -m pip install imutils sudo python3 -m pip install opencv-python sudo python3 -m pip install matplotlib sudo python3 -m pip install rubik_solver sudo python3 -m pip install picamera[array]
Manip
Nous allons commencer par prendre en main la librairie OpenCV via le langage Python: https://opencv-python-tutroals.readthedocs.io/en/latest/py_tutorials/py_tutorials.html
Nous utiliserons l'environnement idle3 pour développer et tester.
Chargement et sauvegarde d'images
- test1.py
import numpy as np import cv2 import math def afficherCercle(cu,cv,r,nbpoints,image): for i in range(0,nbpoints): angle=2*3.14*i/nbpoints #print(angle) u=int(cu+r*math.cos(angle)) v=int(cv+r*math.sin(angle)) for r in range(10,100,10): afficherCercle(200+r,300,r,500,img) img[v][u]=0 print('salut') a=65 b=a+9 print(b) #chargement d'une image non présente sur le disque img = cv2.imread('messi5.jpg',0) print(str(img)) #img vaut None img = cv2.imread('robot.jpeg',0) print(str(img)) #img vaut None img[60][500]=0 v=60 for u in range(10,200): img[v][u]=0 u=60 for v in range(10,200): img[v][u]=0 u=80 for v in range(10,200,2): img[v][u]=0 for r in range(10,100,10): afficherCercle(200+r,300,r,500,img) cv2.imwrite('robot_cercle.jpeg',img) cv2.imshow('image',img) cv2.waitKey(0) cv2.destroyAllWindows()
pour rendre le programme exécutable depuis le terminal
chmod a+x test.py
visionlpro.1578997971.txt.gz · Dernière modification : 2020/01/14 11:32 de bvandepo