Gambas France BETA


Pas de compte ? Incription

Lire les barcode avec un webcam en utilisant le Composant gb.media

1
AuteurMessages
vuott#1 Posté le 14/8/2017 à 02:38:39
Ne cedere ineluctabili possimusCiao,
un code pour lire les barcode avec un webcam en utilisant le Composant gb.media:

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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
PRIVATE pl AS MediaPipeline
PRIVATE tb AS ToggleButton
PRIVATE drar AS DrawingArea


PUBLIC SUB _new()

WITH ME
.W = 600
.H = 600
END WITH

drar = NEW DrawingArea(ME)
drar.Background = Color.Transparent

WITH tb = NEW ToggleButton(ME) AS "Tasto"
.X = 500
.Y = 550
.W = 80
.H = 40
.Text = "Start"
END WITH

END

PUBLIC SUB Form_Open()

DIM src, zbr, snk AS MediaControl

pl = NEW MediaPipeline AS "Pipeline"

src = NEW MediaControl(pl, "v4l2src")
zbr = NEW MediaControl(pl, "zbar")
snk = NEW MediaControl(pl, "xvimagesink")

src.LinkTo(zbr)
zbr.LinkTo(snk)

snk.SetWindow(drar)

END


PUBLIC SUB Tasto_Click()

IF tb.Value THEN
pl.Play()
tb.Text = "Stop"
ELSE
pl.Stop()
pl.Close()
ME.Close
ENDIF

END


PUBLIC SUB Pipeline_Event(Message AS MediaMessage)

DIM c AS INTEGER

IF Message.Name = "barcode" THEN
FOR i = 1 TO Message.count - 1
WITH Message
PRINT .Keys[c], Message[.Keys[c]],
END WITH
NEXT
PRINT
ENDIF

END
« Vita non suavis esse potest, nec Mors amara. »
gambix#2 Posté le 14/8/2017 à 17:47:12
Faire simple !Un très gros merci cher ami... ça c'est un code cool et utile ! :-)
Moins de texte dans une signature c'est agrandir son espace.
vuott#3 Posté le 14/8/2017 à 21:30:34
Ne cedere ineluctabili possimusMerci beaucoup, gambix ! :sunny:
« Vita non suavis esse potest, nec Mors amara. »
davidmue#4 Posté le 15/8/2017 à 21:31:52
Bonsoir et merci pour ce code !
Chez moi, en utilisant un projet Qt je ne vois pas d'image. Mais, avec un projet GTK là, ça fonctionne ! ;-)
Par contre, les barcodes ne sont pas repérés. J'ai installé libzbar.
En ce qui concerne "xvimagesink", quels sont les éléments requis pour que ça fonctionne ? Une carte graphique ?
Excusez la naïveté de la petite crevette que je suis :-)
Gambas.. C'est chouette !
vuott#5 Posté le 16/8/2017 à 03:21:50
Ne cedere ineluctabili possimus
en utilisant un projet Qt je ne vois pas d'image. Mais, avec un projet GTK là, ça fonctionne !

Oui, parce que les deux appartiennent aux projets GNU/GNOME. Ils appartiennent essentiellement à la... même famille:
https://developer.gnome.org/references

Avec des projets Gambas dans environnement graphique, qu'ils utilisent gb.media, il est préférable d'utiliser GTK.



En ce qui concerne "xvimagesink", quels sont les éléments requis pour que ça fonctionne ? Une carte graphique ?

Il faut installer les plug-in aptes de GStreamer.
« Vita non suavis esse potest, nec Mors amara. »
1