Autore Topic: Salvare file immagine da webcam  (Letto 3464 volte)

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Salvare file immagine da webcam
« il: 21 Luglio 2019, 11:02:41 »
Ciao
vorrei salvare una immagine catturata da una webcam
seguendo le inicazioni dalla wiki
https://www.gambas-it.org/wiki/index.php?title=Estrarre_e_salvare_singole_immagini_da_una_ripresa_video_mediante_WebCam_effettuata_con_il_Componente_gb.media
ho fatto dicersi tentativi, ma lla ripresa della cam non viene visualizzata nella drawingarea, ma in una finestra che appare a  pieno form
allego il progetto, per la cronaca ho provato anche le altre opzioni suggerite dalla wiki

 
"e il naufragar m'è dolce in questo mar"

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:Salvare file immagine da webcam
« Risposta #1 il: 21 Luglio 2019, 13:18:33 »
Ho apportato qualche modifica e qui funziona.  :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline cogier

  • Gambero
  • **
  • Post: 57
    • Mostra profilo
Re:Salvare file immagine da webcam
« Risposta #2 il: 21 Luglio 2019, 14:59:17 »
Prova questa versione. È molto più semplice.

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.316
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Salvare file immagine da webcam
« Risposta #3 il: 21 Luglio 2019, 16:14:27 »
ho fatto dicersi tentativi, ma lla ripresa della cam non viene visualizzata nella drawingarea, ma in una finestra che appare a  pieno form
A me i codici della wiki funzionano perfettamente.
Hai provato ad eseguirli "così come sono" ?

Aggiungo che alla chiusura della finestra principale del tuo programma, ottengo in console questo avviso di errore grafico:

"The program 'test' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadDrawable (invalid Pixmap or Window parameter)'.
  (Details: serial 123 error_code 9 request_code 151 minor_code 9)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
"
« Ultima modifica: 21 Luglio 2019, 16:23:05 da vuott »
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:Salvare file immagine da webcam
« Risposta #4 il: 21 Luglio 2019, 19:25:55 »
Il problema, almeno in Ubuntu, è che col programma di Akrobaticone e anche con quello di cogier non si vedono i pulsanti per fare la foto, i quali vengono nascosti dalla drawing e solo passandogli sopra col mause si intravedono a intermittenza per poi sparire una volta sopra.
Comunque cliccando nell'area del tasto si riescono ad ottenere le immagini.
Il progetto di Akrobaticone da questi errori:
Citazione
(test:3068): GdkPixbuf-WARNING **: 17:35:06.031: Unreco
gnized parameter (quality) passed to PNG saver.
The program 'test' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadDrawable (invalid Pixmap or Window parameter)'.
  (Details: serial 619 error_code 9 request_code 151 minor_code 9)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)
Immagini catturate: 1

Nel progetto di cogier l'immagine della finestra è tutta tremolante e distorta e alla chiusura da l'errore:
Citazione
gb.media: warning: could not catch end of stream.

Il mio funziona benissimo e non da nessun errore o avviso e lo può usare anche fido come dimostra il risultato.

P.S. Comunque anche variandola la qualità rimane la stessa, scadente anche con le qt.
« Ultima modifica: 21 Luglio 2019, 19:31:28 da Gianluigi »
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re:Salvare file immagine da webcam
« Risposta #5 il: 22 Luglio 2019, 08:32:01 »
@Vuott
I codici della wiki li ho eseguiti così come sono, ma il risultato era il medesimo
L'errore l'ho visto e pensavo fosse un problema derivante dallla Drawingarea, ma non ci ho capito molto

@Gianluigi, Cogier
i vostri programmi li ho provati e in effetti funzionano, anche quello di Cogier non va male sul mio PC
non avevo pensato di usare i contenitori, sono controlli che non riesco ancora a fare miei.....
Nelle mie intenzioni volevo creare un form dove la drawing area è una finestra contornata di altri controlli e quindi solo una parte del tutto
in pratica nel mio gestione manifestazioni vorrei dare la possibilità di scattare una foto ai pilloti per visualizzarla nelle relative schede
A questo punto cambio solo le modalità di visualizzazione, così come mi avete suggerito

@Cagnolino di Gianluigi
nulla di strano..il programma non funziona ancora, quindi tutto normale :-)) :D :D :D

@Tutti
Grazie per l'aiuto
"e il naufragar m'è dolce in questo mar"

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:Salvare file immagine da webcam
« Risposta #6 il: 22 Luglio 2019, 09:21:32 »
 :D
Un consiglio, aggiungi questo codice se non vuoi che in mancaza di webcam il progetto crashi:
Codice: [Seleziona]
  If Not Exist(pl.URL) Then
    Message.Info("Nessuna webcam presente")
    Me.Close
  Endif
:ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re:Salvare file immagine da webcam
« Risposta #7 il: 22 Luglio 2019, 09:26:59 »
:D
Un consiglio, aggiungi questo codice se non vuoi che in mancaza di webcam il progetto crashi:
Codice: [Seleziona]
  If Not Exist(pl.URL) Then
    Message.Info("Nessuna webcam presente")
    Me.Close
  Endif
:ciao:
:ok:
Dovrei anche fare un controllo per fare una lista dei dispositivi collegati e scegliere quello corretto
sul portatile c'è quella integrata nel monitor e una eventuale collegata su USB
questa sera ci lavoro
"e il naufragar m'è dolce in questo mar"

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.316
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Salvare file immagine da webcam
« Risposta #8 il: 22 Luglio 2019, 10:43:10 »
@Vuott
I codici della wiki li ho eseguiti così come sono, ma il risultato era il medesimo

E' alquanto strano.
Forse c'è qualche problema di librerie o incompatibilità.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re:Salvare file immagine da webcam
« Risposta #9 il: 22 Luglio 2019, 10:52:19 »
Questa sera per sicurezza riprovo di nuovo
tra i vari tentativi non vorrei aver omesso qualche cosa
"e il naufragar m'è dolce in questo mar"

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:Salvare file immagine da webcam
« Risposta #10 il: 22 Luglio 2019, 11:20:28 »
@vuott
Dovresti specificare che occorre creare progetti QT Application, altrimenti i test con i desktop GTK non funzionano a dovere.

@Akrobaticone
Con Gnome occorre riprovare con progetti QT Application.
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re:Salvare file immagine da webcam
« Risposta #11 il: 22 Luglio 2019, 11:24:36 »
@vuott
Dovresti specificare che occorre creare progetti QT Application, altrimenti i test con i desktop GTK non funzionano a dovere.

@Akrobaticone
Con Gnome occorre riprovare con progetti QT Application.
Hai ragione
farò tutte le prove anche con QT
« Ultima modifica: 22 Luglio 2019, 11:25:28 da Akrobaticone »
"e il naufragar m'è dolce in questo mar"

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.316
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Salvare file immagine da webcam
« Risposta #12 il: 22 Luglio 2019, 11:26:39 »
Sì, è come dice Gianluigi: c'è questa incompatibilità con GTK.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.316
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Salvare file immagine da webcam
« Risposta #13 il: 22 Luglio 2019, 11:37:54 »
@vuott
Dovresti specificare che occorre creare progetti QT Application, altrimenti i test con i desktop GTK non funzionano a dovere.

Ho provveduto, grazie.
« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.158
  • Tonno verde
    • Mostra profilo
Re:Salvare file immagine da webcam
« Risposta #14 il: 22 Luglio 2019, 13:11:08 »
:D
Un consiglio, aggiungi questo codice se non vuoi che in mancaza di webcam il progetto crashi:
Codice: [Seleziona]
  If Not Exist(pl.URL) Then
    Message.Info("Nessuna webcam presente")
    Me.Close
  Endif
:ciao:
:ok:
Dovrei anche fare un controllo per fare una lista dei dispositivi collegati e scegliere quello corretto
sul portatile c'è quella integrata nel monitor e una eventuale collegata su USB
questa sera ci lavoro

Mi sono dimenticato un Return dopo Me.Close:
 
Codice: [Seleziona]
pl.URL = "v4l2:///dev/video0"
  If Not Exist(pl.URL) Then
    Message.Info("Nessuna webcam presente")
    Me.Close
    Return
  Endif

Altrimenti ottieni errore su Play.
Riguardo il controllo dei dispositivi, lascio magnanimamente a vuott il compito di risponderti  ;D
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro