Página 2 de 2

Re: Capturar imagem da Webcam

Enviado: 01 Mai 2011 14:27
por Mario Mesquita
Boa tarde a todos.

Não é dia do trabalho? Vamos trabalhar, então!

Entrei no post pois tambem preciso usar captura de imagem tanto de webcam como de scaner nos programas que estou fazendo.

Baixei o exemplo do Toledo, mas algo aconteceu. O exemplo congelava e só saia com CTRL+ALT+DEL. Pensei ser algo da rotina. Então copiei a FUNCTION de captura para meu programa e deu a mesma coisa. Fuçando, descobri que era a função GetFormHandle('Form'). Segui o que tinha no manual da lib e botei 0 (zero) no lugar. Não travou, mas não grava a imagem.

Curioso é que fiz um botão pra chamar a rotina 'TWAIN_AcquireToFilename'. Testando, descobri que após a captura, é como se não retornasse a função chamada pelo botão. Aí quando gravo, ele tenta concluir e dá um erro de form, pois o mesmo já foi liberado (released).

Caramba, pra uma coisa tão simples estou o dia todo brigando, desde 7h da manhã. Achei que ia rodar fácil, mas...

Detalhe: Estou usando uma camera Logitech. E o aplicativo da camera entra junto com a rotina da lib. Pode ser isso?
Algum tipo de confilto?

Quem tiver uma dica, já agredeço antecipado.

Abraços,
Mario.

Re: Capturar imagem da Webcam

Enviado: 01 Mai 2011 21:09
por Mario Mesquita
Boa noite. pessoal.

Reforçando a msg anterior, entendi que parece que ocorre uma falha na rotina de captura. O botão "Obter Imagem" não habilita, então não grava a imagem. A rotina retorna -1 (The Acquire failed). Fui na configuração da camera para que o seu programa não confiltasse com a rotina de captura, mas até agora não consegui ajeitar...

Se alguem já se deparou com coisa semelhante, pode comentar.

Obrigado,
Mario.

Capturar imagem da Webcam

Enviado: 04 Dez 2014 15:32
por marcos.gurupi
Caro, resurgindo o assunto das cinzas. O exemplo q peguei aqui mesmo do amigo Toledo agora parou de funcionar, na verdade ele apresenta a imagem do scanner quando eh invocado. No meu notebook soh tem a webcam e quando invoco a funcao ele nao apresenta nada. Coloquei a funcao chamando a origem e fica em branco. Segue abaixo o meu codigo

Código: Selecionar todos

Static Function ObterImagemAss(CodCli)


Local Form_Main
Local oFontBtn
Local oFont := Nil
Local nColor
local hdll

If File(vAssinatura)
   If MsgYesNo("Imagem da Rubrica ja existe. Substituir Imagem ?")
      IF FErase(vAssinatura)<0
         MsgStop("Nao foi possivel deletar a Imagem anterior")
         Return .F.
      Endif
   Else
      Return .F.
   Endif
Endif
hdll:=loadlibrary("EZTW32.DLL")
dllcall(hdll,DC_CALL_STD,"TWAIN_SelectImageSource",oDlg:Handle,vAssinatura) //Adicionei aqui para ver se aparecia a webcam
dllcall(hdll,DC_CALL_STD,"TWAIN_AcquireToFilename",oDlg:Handle,vAssinatura)
freelibrary(hdll)
vAssinatura:=""
oAssinatura:SetText(vAssinatura)
oAssinatura:Refresh()
vAssinatura:=xendcomp+"Imagens\AS"+strzero(codcli,6)+".bmp"
If File(vAssinatura)
   oAssinatura:Hide()
   @ 15,25 IMAGE oAssinatura SHOW vAssinatura OF oDlg SIZE 570,332
   oAssinatura:Refresh()
   oAssinatura:Show()
Else
   oAssinatura:Hide()
Endif
Return .T.

Capturar imagem da Webcam

Enviado: 04 Dez 2014 17:33
por rochinha
Amiguinho,

Reinstale o driver TWAIN.

Capturar imagem da Webcam

Enviado: 04 Dez 2014 19:58
por Toledo

Código: Selecionar todos

dllcall(hdll,DC_CALL_STD,"TWAIN_SelectImageSource",oDlg:Handle,vAssinatura)
Marcos, se você prestar atenção na minha mensagem postada no outro tópico onde você iniciou este assunto, vai notar que na função "TWAIN_SelectImageSource" você tem que passar apenas o Handle da janela, então este parâmetro "vAssinatura" não precisa.

Abraços,

Capturar imagem da Webcam

Enviado: 08 Dez 2014 17:00
por marcos.gurupi
Caro Toledo obr pela resposta. Isso jah foi feito, inclusive a janela para selecionar o dispositivo aparece, mas aparece vazio (no caso do meu not q soh tem a webcan). Verificando minha webcan (windows 7) ela aparece normalmente em dispositivos e impressoras. No caso do meu cliente a janela aparece com apenas o scanner como opcao. O q parece eh q estah disponivel apenas o q for impressoras e faz!