Codificação e decodificação de código QR da câmera Raspberry Pi

Codificação e decodificação de código QR da câmera Raspberry Pi

Este tutorial é sobre como criar um código QR (código de resposta rápida) usando Raspberry Pi B e Python 3.7. O código QR é um código óptico legível por máquina. Óptico significa que pode ser decodificado usando qualquer dispositivo de câmera. Um concorrente direto do código QR é o código de barras. A vantagem do QR sobre o código de barras é que ele é mais rápido de ler e pode armazenar muito mais informações do que o código de barras. Qualquer dispositivo com câmera pode ser transformado em leitor de código QR, enquanto o código de barras precisa de um dispositivo dedicado a laser para descriptografar os códigos de barras.

Para Raspberry Pi, uma biblioteca/pacote QR dedicado está disponível para criação de QR. Para importar o pacote de código QR no código do aplicativo, primeiro você precisa instalá-lo. Para instalar o pacote, abra o Terminal do Raspberry Pi e digite:

$ pip3 instalar qrcode

Observação: Se você estiver trabalhando com python 2 em vez de pip3, use pip para instalar a biblioteca. Você deve usar pip ou pip3 para instalar todas as suas bibliotecas ou pacotes.

Codificação QR

Uma geração simples de código QR usando o pacote qrcode está abaixo.

Primeiro, importei o pacote qrcode para o código do aplicativo. Então a instrução qrcode.make('ENGINEERS GARAGE') está codificando o texto 'ENGINEERS GARAGE' no formato qrcode. O QR codificado é salvo na variável code. Por fim, para salvar o QR code na imagem, passei o nome do arquivo code.save('qrtest.png') no qual o qrcode será salvo.

A imagem de saída é mostrada acima. O tamanho da imagem é 290×290. Parâmetros de imagem como tamanho, cor, fundo, bordas e tamanho da caixa QR podem ser ajustados usando as funções da biblioteca qrcode. Você pode importar outros pacotes de manipulação de imagens no código do aplicativo e filtros podem ser aplicados à imagem de saída para aumentar o brilho, o contraste e a nitidez.

Decodificando QR

Para decodificar o qrcode, precisamos instalar mais alguns pacotes. Zbarlight é um wrapper popular para python. É usado para decodificar e extrair o qrcode de um arquivo de imagem.

Abra o Terminal no Raspberry Pi e digite o seguinte:

$ apt-get instalar libzbar0 libzbar-dev

$ pip3 instalar zbarlight

Use pip se estiver trabalhando com python 2. Você pode ocorrer erros durante a compilação. Muito provavelmente, o erro é um pacote ausente. Zbarlight depende de outros pacotes pré-instalados no diretório Python, mas às vezes você precisa instalá-los manualmente. Instale todos os pacotes um por um (para cada instalação de pacote, visite Se aparecer PIL não encontrado, instale-o usando o comando

pip instalar –no-index -f -U PIL

Após a instalação bem-sucedida, importe o pacote zbarlight em seu código. Você também precisa importar o atributo de imagem do pacote PIL. O pacote PIL é usado para importar e trabalhar com imagens.

Descrição de variáveis ​​e declarações

  • A variável file_path recebe o endereço da imagem.
  • Com open(file_path, 'rb') as image_file: Abre o arquivo como arquivo de imagem
  • Image = Image.open(image_file) o objeto de imagem é criado
  • load carrega o objeto de imagem contendo os dados de pixel
  • Codes = zbarlight.scan_codes(('qrcode'),image) Busca/decodifica o texto presente nos pixels.

Finalmente, a instrução print imprime o texto decodificado.

Usei o Thonny ide presente no sistema operacional Raspbian para escrever e testar código. No lado esquerdo você pode ver a imagem gerada colocada na área de trabalho. Você pode ver o Thonny ide qr no código de extração. O caminho do arquivo de imagem qr está apontando para a área de trabalho. O resultado da decodificação é exibido na janela do shell abaixo da janela de código.

Vamos fazer esse projeto DIY: Onde comprar peças?
Framboesa pi (Mouser Electronics)

Conteúdo Relacionado

Uma rede de sensores é incorporada em todos os...
O controlador do motor é um dos componentes mais...
ESP32-CAM é um módulo de câmera compacto que combina...
A evolução dos padrões USB foi fundamental para moldar...
A SCHURTER anuncia um aprimoramento para sua conhecida série...
A Sealevel Systems anuncia o lançamento da Interface Serial...
A STMicroelectronics introduziu Diodos retificadores Schottky de trincheira de...
Determinar uma localização precisa é necessário em várias indústrias...
O novo VIPerGaN50 da STMicroelectronics simplifica a construção de...
A Samsung Electronics, fornecedora de tecnologia de memória avançada,...
O mercado embarcado tem uma necessidade de soluções de...
Você provavelmente já se deparou com o termo 'arrastar'...
Você provavelmente tem um Isolador de suporte Se você...
Você provavelmente já viu permanecer um isolante sente-se em...
Você provavelmente já viu Isoladores de manilha entronizados em...
Você provavelmente já passou por situações em que o...
Retour au blog

Laisser un commentaire

Veuillez noter que les commentaires doivent être approuvés avant d'être publiés.