LabVIEW  –  IMAQ   USB Aquisição de Imagens com câmeras USB  no  LabVIEW  parte 2 - Snap João Kögler Escola Politécnica Universidade de São Paulo Agosto 2008 TM   National Instruments
Seleção dos parâmetros da câmera O bloco  IMAQ USB PropertyPage  executa a abertura de uma caixa de diálogo provida pelo fabricante da câmera para configuração das propriedades da captura de vídeo. Pela forma como foi proposto o programa acima, essa etapa sempre será executada, mesmo quando não se deseja alterar as configurações de captura do vídeo. Vamos agora acrescentar um bloco de decisão que permitira selecionar entre executar ou não a configuração da câmera.
Seleção dos parâmetros da câmera Utilizaremos a estrutura de controle denominada  CASE O  CASE  tem papel semelhante ao da instrução  if  encotrada em diversas linguagens O CASE pode tratar casos de seleção de diversos tipos: Booleano     possui os casos Verdadeiro e Falso Numérico     os casos são enumerados Simbólico     os casos são designados por strings com significados contextuais  Usaremos agora o Booleano O tipo de seleção depende do  tipo  de variável de  seleção  conectado aqui
Seleção dos parâmetros da câmera O bloco de  CASE  é obtido na paleta de estruturas de programação:  Programming >> Structures Envolva o bloco  IMAQ USB Property Page  com a estrutura CASE O caso TRUE deverá conter o bloco IMAQ USB Caso não ocorra,use o botão direido do mouse sobre o  seletor de caso  e selecione  Make this case true
Seleção dos parâmetros da câmera O resultado esperado deve ser tal como mostrado acima É necessário agora conectar uma variável booleana para selecionar o caso entre TRUE e FALSE Note também que as saídas do caso TRUE acima mostram dois conectores “vazados” (não preenchidos) Significa que no outro caso (FALSE) eles ainda não foram conectados. É preciso fazer isso também
Seleção dos parâmetros da câmera Vá para o caso FALSE selecionando  com o mouse no  seletor de casos Conecte os terminais de  entrada  aos de  saída   no caso FALSE
Seleção dos parâmetros da câmera O VI ainda não é executável O  botão de execução  mostra a  seta quebrada  e funciona como  list errors O erro aqui é que ainda falta conectar a variável booleana ao  terminal de seleção  de caso Criaremos uma variável booleana no painel frontal, agora
Seleção dos parâmetros da câmera Com o botão direito do mouse, em qualquer lugar vazio do painel frontal, selecione a paleta de  controles booleanos Escolha uma variável tipo  chave  e a arraste ao painel frontal Ela será nossa variável booleana de seleção Com ela selecionaremos entre abrir ou não a caixa de diálogos de configuração da webcam ao executarmos o VI
Seleção dos parâmetros da câmera Nomeie essa variável como Camera Config (ou qualquer outro rótulo que você prefira) Clique com o botão esquerdo do mouse em qualquer lugar do diagrama de blocos para criar textos indicando as posições ON e OFF para a chave (ou SIM e Não, se preferir) ON OFF
Seleção dos parâmetros da câmera No diagrama de blocos, conecte a variável booleana que acabou de criar, ao  terminal de seleção  da estrutura CASE Agora, utilizando a chave que acabou de criar no painel frontal, poderá escolher se quando executar o VI deseja que seja mostrado ou não a caixa de diálogo de configuração da webcam Note que essa seleção dever ser feita  ANTES  de executar o VI, pois o estado ooleano da chave será lido logo que a execução iniciar Agora, salve o VI e, no painel  frontal  selecione a chave para a posição OFF e então execute o programa
Seleção dos parâmetros da câmera Desta vez, a caixa de diálogo não foi exibida
Salvando a Imagem Até o momento vimos como capturar uma imagem da câmera USB e como exibi-la em um display no painel frontal Na próxima etapa veremos como salvar a imagem Para tanto, vamos colocar uma nova variável booleana , tipo chave (switch)  no painel frontal, para indicarmos quando quisermos que o programa grave a imagem ao final da execução Devemos fornecer o local (path) e nome do arquivo para gravação da imagem O LabVIEW dispõe de uma função na biblioteca IMAQ que executa a gravação da imagem que está na memória, em um arquivo  cujo nome e path são fornecidos :  IMAQ Write File Essa função grava arquivos de imagem em diversos formatos:  BMP, JPG, JPG2000, PNG, TIFF
Salvando a Imagem No painel frontal, insira uma nova variável booleana tipo chave Chame-a  Salva Imagem ? Acrescente as palavras SIM e NÃO
Salvando a Imagem Insira a função  IMAQ Write File  e conecte-a à imagem e ao bloco IMAQ USB Close Session Coloque um bloco de CASE de modo que a função fique dentro do caso TRUE  Conecte o terminal da  variável booleana Salva Imagem ? ao Case
Salvando a Imagem Insira no painle frontal uma variável tipo  Path Control
Salvando a Imagem Conecte o terminal da  variável Path  ao bloco da função  IMAQ Write File Selecione com o botão direito no mouse no  terminal polimórfico  da função  IMAQ Write File  o tipo de arquivo de imagem a ser escrito O tipo default é  BMP Salve o VI  com o nome  IMAQ Snap VI-2 .vi  (ou qualquer outro nome diferente do nome que deu anteriormente)  Vamos guardar a versão anterior para outros usos adiante Execute seu programa testando com um nome e path para salvar a imagem

Imaq Usb Snap P2

  • 1.
    LabVIEW – IMAQ USB Aquisição de Imagens com câmeras USB no LabVIEW parte 2 - Snap João Kögler Escola Politécnica Universidade de São Paulo Agosto 2008 TM National Instruments
  • 2.
    Seleção dos parâmetrosda câmera O bloco IMAQ USB PropertyPage executa a abertura de uma caixa de diálogo provida pelo fabricante da câmera para configuração das propriedades da captura de vídeo. Pela forma como foi proposto o programa acima, essa etapa sempre será executada, mesmo quando não se deseja alterar as configurações de captura do vídeo. Vamos agora acrescentar um bloco de decisão que permitira selecionar entre executar ou não a configuração da câmera.
  • 3.
    Seleção dos parâmetrosda câmera Utilizaremos a estrutura de controle denominada CASE O CASE tem papel semelhante ao da instrução if encotrada em diversas linguagens O CASE pode tratar casos de seleção de diversos tipos: Booleano  possui os casos Verdadeiro e Falso Numérico  os casos são enumerados Simbólico  os casos são designados por strings com significados contextuais Usaremos agora o Booleano O tipo de seleção depende do tipo de variável de seleção conectado aqui
  • 4.
    Seleção dos parâmetrosda câmera O bloco de CASE é obtido na paleta de estruturas de programação: Programming >> Structures Envolva o bloco IMAQ USB Property Page com a estrutura CASE O caso TRUE deverá conter o bloco IMAQ USB Caso não ocorra,use o botão direido do mouse sobre o seletor de caso e selecione Make this case true
  • 5.
    Seleção dos parâmetrosda câmera O resultado esperado deve ser tal como mostrado acima É necessário agora conectar uma variável booleana para selecionar o caso entre TRUE e FALSE Note também que as saídas do caso TRUE acima mostram dois conectores “vazados” (não preenchidos) Significa que no outro caso (FALSE) eles ainda não foram conectados. É preciso fazer isso também
  • 6.
    Seleção dos parâmetrosda câmera Vá para o caso FALSE selecionando com o mouse no seletor de casos Conecte os terminais de entrada aos de saída no caso FALSE
  • 7.
    Seleção dos parâmetrosda câmera O VI ainda não é executável O botão de execução mostra a seta quebrada e funciona como list errors O erro aqui é que ainda falta conectar a variável booleana ao terminal de seleção de caso Criaremos uma variável booleana no painel frontal, agora
  • 8.
    Seleção dos parâmetrosda câmera Com o botão direito do mouse, em qualquer lugar vazio do painel frontal, selecione a paleta de controles booleanos Escolha uma variável tipo chave e a arraste ao painel frontal Ela será nossa variável booleana de seleção Com ela selecionaremos entre abrir ou não a caixa de diálogos de configuração da webcam ao executarmos o VI
  • 9.
    Seleção dos parâmetrosda câmera Nomeie essa variável como Camera Config (ou qualquer outro rótulo que você prefira) Clique com o botão esquerdo do mouse em qualquer lugar do diagrama de blocos para criar textos indicando as posições ON e OFF para a chave (ou SIM e Não, se preferir) ON OFF
  • 10.
    Seleção dos parâmetrosda câmera No diagrama de blocos, conecte a variável booleana que acabou de criar, ao terminal de seleção da estrutura CASE Agora, utilizando a chave que acabou de criar no painel frontal, poderá escolher se quando executar o VI deseja que seja mostrado ou não a caixa de diálogo de configuração da webcam Note que essa seleção dever ser feita ANTES de executar o VI, pois o estado ooleano da chave será lido logo que a execução iniciar Agora, salve o VI e, no painel frontal selecione a chave para a posição OFF e então execute o programa
  • 11.
    Seleção dos parâmetrosda câmera Desta vez, a caixa de diálogo não foi exibida
  • 12.
    Salvando a ImagemAté o momento vimos como capturar uma imagem da câmera USB e como exibi-la em um display no painel frontal Na próxima etapa veremos como salvar a imagem Para tanto, vamos colocar uma nova variável booleana , tipo chave (switch) no painel frontal, para indicarmos quando quisermos que o programa grave a imagem ao final da execução Devemos fornecer o local (path) e nome do arquivo para gravação da imagem O LabVIEW dispõe de uma função na biblioteca IMAQ que executa a gravação da imagem que está na memória, em um arquivo cujo nome e path são fornecidos : IMAQ Write File Essa função grava arquivos de imagem em diversos formatos: BMP, JPG, JPG2000, PNG, TIFF
  • 13.
    Salvando a ImagemNo painel frontal, insira uma nova variável booleana tipo chave Chame-a Salva Imagem ? Acrescente as palavras SIM e NÃO
  • 14.
    Salvando a ImagemInsira a função IMAQ Write File e conecte-a à imagem e ao bloco IMAQ USB Close Session Coloque um bloco de CASE de modo que a função fique dentro do caso TRUE Conecte o terminal da variável booleana Salva Imagem ? ao Case
  • 15.
    Salvando a ImagemInsira no painle frontal uma variável tipo Path Control
  • 16.
    Salvando a ImagemConecte o terminal da variável Path ao bloco da função IMAQ Write File Selecione com o botão direito no mouse no terminal polimórfico da função IMAQ Write File o tipo de arquivo de imagem a ser escrito O tipo default é BMP Salve o VI com o nome IMAQ Snap VI-2 .vi (ou qualquer outro nome diferente do nome que deu anteriormente) Vamos guardar a versão anterior para outros usos adiante Execute seu programa testando com um nome e path para salvar a imagem