Outils pour utilisateurs

Outils du site


visionlpro

Ceci est une ancienne révision du document !


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

Image avant traitement: homepages.laas.fr_bvandepo_files_iut_tp_lpro_vision_robot.jpeg

Image après traitement: homepages.laas.fr_bvandepo_files_iut_tp_lpro_vision_robot_cercle.jpeg

visionlpro.1578997971.txt.gz · Dernière modification : 2020/01/14 11:32 de bvandepo