MartinPhilipp
Posts: 1
Joined: Tue Oct 12, 2021 2:46 pm

Problème d'enregistrement d'image prise par une picaméra

Tue Oct 12, 2021 3:01 pm

Bonjour à tous et à toutes,

Il se trouve que je rencontre un problème dans mon TIPe, en effet, j'utilise un raspberry pi 4 pour faire de la reconnaissance d'image.

Le problème vient alors, je n'ai pas trouvé le module et/ou bibliothèque à télécharger pour enregistrer l'image prise par ma pi-caméra où je le souhaite. (mon niveau d'anglais étant faible, mes ressources en sont limités :( )

Ainsi, je vous remercie d'avance pour toutes les réponses que je pourrais recevoir (lien et/ou code), une seule exigence s'il vous plait :idea: , pouvez-vous expliquer ce que vous enverrez. :D

Merci encore,
Martin, un élève confronté à un mur.

danjperron
Posts: 3871
Joined: Thu Dec 27, 2012 4:05 am
Location: Québec, Canada

Re: Problème d'enregistrement d'image prise par une picaméra

Thu Oct 14, 2021 4:46 pm

Salut Martin,

j'assume que tu utilises python.

Voici la partie de mon démo pour décoder une grille Sudoku.
https://github.com/danjperron/sudokuSolver

regarde le script python grabimage.py.

J'utilise CV2 et tout simplement la fonction cv2.imwrite(fname,frame) pour enregistrer une image.

danjperron
Posts: 3871
Joined: Thu Dec 27, 2012 4:05 am
Location: Québec, Canada

Re: Problème d'enregistrement d'image prise par une picaméra

Thu Oct 14, 2021 5:31 pm

Pour la résolution de la picaméra il faut ajuster les paramètres dans le module bcm2835-v4l2 et passer les dimensions dans python.

Voici un exemple avec la picaméra HQ en regroupement 2x2.

Code: Select all

pi@pi4cam:~/projector $ python3
Python 3.7.3 (default, Jan 22 2021, 20:04:44) 
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import cv2
# pas besoin de modprobe (update) 
#>>> import os
#>>> os.system('sudo modprobe bcm2835-v4l2 max_video_width=2028 max_video_height=1520')
#0
>>> cam = cv2.VideoCapture(0)
>>> cam.set(cv2.CAP_PROP_FRAME_WIDTH,2028)
False
>>> cam.set(cv2.CAP_PROP_FRAME_HEIGHT,1520)
True
>>> _ , frame = cam.read()
>>> frame.shape
(1520, 2028, 3)
cv2.imwrite("test.jpg",frame)
True
>>>
*** update ***
modprobe n'est pas nécessaire. il suffit de sélectionner la hauteur et largeur voulue. C'est normal que la première sélection retourne une valeur fausse puisque le ratio n'est pas bon!

Return to “Français”