Um arquivo de imagem pode ser renomeado com base em um único código de barras contido na imagem?

4

Eu tenho uma coleção de cerca de 3.000 fotografias que representam a linha de produtos da minha empresa. Cada foto é tirada dentro de uma caixa de luz especial. Um código de barras exclusivo representando o produto é gerado, impresso em uma etiqueta e colocado ao lado de cada produto na caixa de luz.

É possível reconhecer o código de barras único em cada imagem programaticamente e renomear a imagem com base nele?

    
por Nathaniel_613 26.01.2013 / 17:31

4 respostas

0

Oh querida! Na verdade, existe algo "pronto para oferecer a funcionalidade que você está procurando": zbar

#!/bin/bash
for file in $*
do
    name="'zbarimg -q $file'"
    echo "Renaming $file to $name"
    mv $file $name
done

Coloque isso em um arquivo. rename_barcode.sh , por exemplo. E:

chmod u+x rename_barcode.sh
./rename_barcode.sh *.jpg *.png

É claro que é um pouco áspero nas bordas (e se nenhum código de barras for encontrado?), mas zbarimg oferece a funcionalidade que você deseja. A parte restante é apenas um script.

EDITAR:

Desculpe, você não mencionou o Linux. O script mencionado acima é um script bash supondo que o pacote zbar esteja instalado. Se você estiver usando o Windows, basta instalar o zbarimg.exe em algum lugar e criar um script semelhante, mas usando a sintaxe MS Batch.

    
por 05.02.2013 / 13:46
2

Eu duvido que você encontre algo na prateleira que lhe dará a funcionalidade que você está procurando. É mais provável que você precise escrever algum código personalizado para analisar imagens de códigos de barras, lê-las e renomear as imagens. Claro que isso pode não ser apenas caro, mas consome tempo. Portanto, a verdadeira questão deve ser: é mais barato fazer isso manualmente, ou contratar alguém para escrever um software personalizado para você, que você pode usar apenas um punhado de vezes? Estagiários são ótimos para qualquer possibilidade.

No entanto, se você estiver disposto a escrever algum código, este exemplo de código seria um grande avanço.

link

Ele faz a maior parte do trabalho pesado para você, você só precisa configurar um sistema para renomear seus arquivos e adicionar um pouco de lógica de negócios para que funcione em uma configuração em lote. Já joguei com ele antes e é muito capaz, desde que seus códigos de barras sejam visíveis.

    
por 29.01.2013 / 21:42
1

Um grande problema com o processo, como solicitado, é que o programa precise identificar o código de barras sem que o usuário insinue uma imagem arbitrária. Se o código de barras for grande em relação ao produto no quadro, provavelmente você terá sucesso. Bibliotecas e binários de código aberto estão disponíveis, que podem ler, por exemplo, TIFF e retornar uma string. (ZBar era um link do IIRC )

Eu tentei isso com itens planos de aproximadamente 36 polegadas quadradas (e sem orçamento) e o tamanho do código de barras era tão grande que o objeto ficava fora do quadro.

Eu uso uma câmera que é ativada remotamente por um computador em rede e o software usado captura a imagem diretamente em um servidor de arquivos e possui um campo de texto para anexar o texto do usuário a um esquema de nomeação automática. Eu sei que esse software está disponível para câmeras Canon e Nikon profissionais. (Eu não quero transformar isso em um anúncio, então eu não vou mencionar o produto, mas o software específico de canon que eu uso eu comprei há alguns anos atrás por algo na ordem de 50 $)

Como muitos scanners de código de barras podem simular entradas de teclado, talvez o fotógrafo possa usar uma solução semelhante e, em seguida, você pode introduzir um processo no qual defina o foco no software, use um leitor de varinhas para inserir o código número de peça no campo), em seguida, coloque o item para a filmagem. Juntamente com um timestamp automático, você terá arquivos pré-programados já no servidor e não precisará mais "sneaker-net" das imagens do cartão da câmera.

Bônus adicionado é o fotógrafo pode ver a imagem em um monitor grande antes de mover o item do set.

(algumas câmeras vêm com um software de captura com recursos limitados, então a velha espera de fazer o fotógrafo capturá-lo em disco e fazer com que um de seus funcionários o renomeie enquanto o código do item é conhecido será melhor de abordar a tarefa de identificar e renomear 3000 deles mais tarde)

    
por 29.01.2013 / 22:32
0

Se o código de barras na imagem for bom o suficiente, você deve ser capaz de usar um scanner padrão - muito parecido com este para ler o código de barras direto da imagem.

link .

Eles apenas exibem a série de caracteres representados pelo código de barras. Você pode então pegar isso para renomear o arquivo.

(outros scanners estão disponíveis).

    
por 29.01.2013 / 21:27