Category: MRPiZ

Partie 1 : OpenCV et le robot MRPiZ

Ce tutoriel permet de faire du traitement d’images avec le robot MRPiZ en langage Python.

OpenCV_Logo

Le matériel nécessaire pour le tutoriel :

  • Un robot MRPiZ
  • Un support caméra pour le robot MRPiZ
  • Une caméra Raspberry Pi 8MP

Installation

La première étape est d’installer la camera sur la carte Raspberry Pi :

  • Installation de la camera Raspberry Pi 8MP : ici
  • Mise à jour du système:
sudo apt-get update
sudo apt-get upgrade
  • Installation de la bibliothèque de traitement d’image OpenCv :
sudo apt-get install python-opencv
  • Installation de imutils:
sudo easy_install pip
sudo pip install imutil
sudo apt-get install python-picamera python3-picamera

Une simple photo

Prendre une simple photo avec la camera et l’enregistrer dans une image, voic

#!/usr/bin/python
import picamera

camera = picamera.PiCamera()

# initialisation de la resolution
camera.resolution = (1920, 1080)

# capture d'une image
camera.capture('image.jpg')

Simple photo

Lecture d’une image

Un script pour la lecture d’une image avec OpenCv :

#!/usr/bin/python
import picamera
import cv2

camera = picamera.PiCamera()

# initialisation de la resolution
camera.resolution = (100, 100)

# capture d'une image
camera.capture('image.jpg')

image = cv2.read('image.jpg')

print image

Conversion en HSV

Conversion colorimétrique.

HSV : Hue Saturation Value

#!/usr/bin/python
import picamera
import cv2

camera = picamera.PiCamera()

# initialisation de la resolution
camera.resolution = (1920, 1080)

# capture d'une image
camera.capture('image.jpg')

# lecture de l'image
frame = cv2.imread('image.jpg')


# conversion RGB en HSV de l'image
hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV)

# enregistrer image hsv
cv2.imwrite('image_hsv.png', hsv)

image HSV

 

 

Fin de la première partie.

MRPiZ en Java

Dans ce tutorial vous allez apprendre à programmer le robot MRPiZ en langage Java.

Remarque : le robot MRPiZ doit etre connecté à internet.

Installation

  • Mise à jour et installation de java :
sudo apt-get update && sudo apt-get install oracle-java7-jdk
  • Installation de la librairie Pi4J pour l’accès hardware de la Raspberry Pi:
curl -s get.pi4j.com | sudo bash

Librairie

La librairie java est disponible sur le Github : ici

Exemple

Voici un exemple de programme (Exemple1.java):

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
import java.io.IOException;
import java.util.Date;
import java.util.concurrent.TimeUnit;

public class Exemple1 {

/****************/
public static void main(String args[]) throws InterruptedException, IOException
{
float tension_batterie;
float distance_sensor1;
float distance_sensor2;

MRPiZ robot = new MRPiZ();

// Lecture de la tension de la batterie
tension_batterie = robot.proxSensor(1);
System.out.println("Batterie = " + tension_batterie);

// avancer le robot pendant 1 seconde
robot.forward(30);

TimeUnit.SECONDS.sleep(2);

// reculer le robot pendant 1 seconde
robot.back(30);

TimeUnit.SECONDS.sleep(2);

// tourner à droite
robot.turnRight(30);

TimeUnit.SECONDS.sleep(1);

// arret du robot
robot.stop();

// Lecture du capteur de proximitè n°1 et n°2
distance_sensor1 = robot.proxSensor(1);
distance_sensor2 = robot.proxSensor(2);

// afficher les valeurs
System.out.println("Sensor 1 = " + distance_sensor1);
System.out.println("Sensor 2 = " + distance_sensor2);

}
}
  • Compilation du programme :
javac -classpath .:classes:/opt/pi4j/lib/'*' -d . Exemple1.java
  • Exécution du programme :
sudo java -classpath .:classes:/opt/pi4j/lib/'*' Exemple1