Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Gráficos
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo Hace 3 Semanas
trex2000 trex2000 is offline
Miembro
 
Registrado: may 2003
Posts: 240
Poder: 21
trex2000 Va por buen camino
Question Capturar imagenes con WebCam y Delphi 11 Alexandria

Saludos a todos.

Tengo la problemática de no poder capturar imágenes desde una webcam y delphi 11 alexandria, he seguido varios ejemplos que me he encontrado en Internet pero al momento de volver a teclear o copiar el código en una aplicación nueva no funciona pero los ejemplos o demos si funcionan, el ultimo ejemplo y que me estoy basando en este momento es del Webcam con DirectX Avanzado que encontré aquí en Club Delphi pero al momento de compilar me marca un access violation, ya busque y puse las librerías VFrames.Pas y VSample.Pas que recomiendan pero aun persiste el error.

Alguien me podría ayudar para corregir este error?

De antemano muchas gracias.
Responder Con Cita
  #2  
Antiguo Hace 3 Semanas
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.462
Poder: 21
newtron Va camino a la fama
¿Has probado con lo que indica este link? Yo uso Delphi Berlin y funciona.


Saludos.
__________________
Be water my friend.
Responder Con Cita
  #3  
Antiguo Hace 3 Semanas
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Si estás usando VFrames.pas y VSample.pas con el siguiente código deberías poder capturar un frame sin problemas:


Inicializar el control:
Código Delphi [-]
  // inicializar
  cam := TVideoImage.Create;
  cam.GetListOfDevices(TStringList(lbCamList.Items));

Iniciar el video:


Código Delphi [-]
  // Seleccionar cámara
  cam.SetDisplayCanvas(pbVideo.Canvas);
  cam.VideoStart(lbCamList.Items[lbCamList.ItemIndex]);

Y capturar el frame:
Código Delphi [-]
  Randomize;
  // Tomar un snapShot
  var Bmp := TBitmap.Create;
  try
    cam.GetBitmap(bmp);
    imgFileName := TPath.GetTempPath + Random(9999).ToString + '_imagen.bmp';
    bmp.SaveToFile(imgFileName);
  finally
    bmp.Free;
  end;
  // Cargarlo de disco
  imgFrame.Picture.LoadFromFile(imgFileName);


A mi me funciona bien.



Te adjunto el proyecto. Está compilado con Delphi 12, pero debería compilar sin problemas con versiones anteriores.
Archivos Adjuntos
Tipo de Archivo: zip WebCam Capture Image.zip (100,2 KB, 5 visitas)
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo Hace 3 Semanas
trex2000 trex2000 is offline
Miembro
 
Registrado: may 2003
Posts: 240
Poder: 21
trex2000 Va por buen camino
Gracias por sus respuestas.

Probe el proyecto que me pusiste para descargar y probar Neftali y me sale el error:

"Incompatible types: PAnsiChar and PWideChar"

En la unidad uWebCam.

Código Delphi [-]
procedure WebcamList;
var
  x:cardinal;
  names: string;
  Descriptions: string;
begin
  for x := 0 to 9 do begin
    setlength(Names,256);
    setlength(Descriptions,256);
    if not capGetDriverDescriptionA(x,pchar(Names),256,pchar(Descriptions),256) then continue; //En esta linea marca el error.
    if length(Names) > 0 then
      FormMain.combobox1.Items.Add(inttostr(x)+' '+names);
    end;
end;
Responder Con Cita
  #5  
Antiguo Hace 3 Semanas
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
El código que expones creo que no está en lo que expuso Neftali.


Lo que tienes es un problema de tipos char. capGetDriverDescriptionA usa AnsiChar mientras que capGetDriverDescriptioW usa PWideChar (PCHAR para las versiones modernas de delphi)
Para que te compile debes cambiar por capGetDriverDescription o por capGetDriverDescriptionW
También puedes trabajarlo todo con AnsiChar y AnsiString usando la API capGetDriverDescriptioA





Saludos.
Responder Con Cita
  #6  
Antiguo Hace 3 Semanas
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.275
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Cita:
Empezado por trex2000 Ver Mensaje
Probe el proyecto que me pusiste para descargar y probar Neftali y me sale el error:
"Incompatible types: PAnsiChar and PWideChar"

Yo he probado a compilarlo con Delphi 11.3 y me compila sin problemas.
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Capturar Imagen Con WebCam casacham Gráficos 46 16-12-2017 23:05:37
Webcam capturar imagen y adaptada ronald_tro Gráficos 18 14-12-2017 19:48:42
Capturar imagenes con webcam pjacob80 Gráficos 5 01-04-2014 15:23:17
Capturar imagen webcam fmtidona Gráficos 4 25-11-2005 18:04:31
Capturar imagen de webcam en Monocromo fmtidona Gráficos 1 15-09-2005 22:18:49


La franja horaria es GMT +2. Ahora son las 20:18:08.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi