Un fichier image peut-il être renommé en fonction d'un code à barres unique contenu dans l'image?

4

J'ai une collection d'environ 3 000 photographies représentant la gamme de produits de mon entreprise. Chaque photo est prise dans une boîte à lumière spéciale. Un code à barres unique représentant le produit est généré, imprimé sur une étiquette et placé à côté de chaque produit dans la boîte à lumière.

Est-il possible de reconnaître le code à barres unique dans chaque image par programmation et de renommer l'image en fonction de celle-ci?

Nathaniel_613
la source
Je ne ferais probablement pas cela avec Photoshop.
Ignacio Vazquez-Abrams le
Quel est l'encodage utilisé par les codes à barres?
Ignacio Vazquez-Abrams le
2
vous dites, "les photos seraient prises dans une boîte à lumière spéciale", y a-t-il une raison pour laquelle le code à barres ne peut pas être numérisé QUAND prendre la photo dans la boîte de dialogue de sauvegarde?
datatoo
1. Je peux imprimer des codes-barres 1D ou 2D en utilisant MS Access. vous parlez de quel "dialogue de sauvegarde"? Mon plan actuel est que le photographe prenne les photos aussi vite que possible et télécharge périodiquement la carte mémoire sur son ordinateur. Lorsque toutes les 3 000 images sont prises, j'aurais alors quelqu'un qui renommerait manuellement les images en fonction de l'identifiant de la pièce dans l'image, puis supprimer l'arrière-plan et rogner le code à barres. S'il vous plaît conseiller sur la procédure la plus efficace pour atteindre mon objectif
Nathaniel_613
Si l'identifiant de la pièce est dans l'image, ne pourriez-vous pas demander à un bot d'analyser l'image pour l'identifiant?
Kruug

Réponses:

0

Oh cher! Il y a en fait quelque chose "sur l'étagère qui va vous donner la fonctionnalité que vous cherchez":zbar

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

Mettez cela dans un fichier. rename_barcode.shpar exemple. Et:

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

Bien sûr, c'est un peu rude sur les bords (que se passe-t-il si aucun code à barres n'est trouvé?), Mais zbarimgvous donne les fonctionnalités que vous souhaitez. La partie restante est vraiment juste un script.

MODIFIER:

Désolé, vous n'avez pas mentionné Linux. Le script mentionné ci-dessus est un script bash supposant que le zbarpaquet est installé. Si vous utilisez Windows, vous devez simplement installer zbarimg.exe quelque part et créer un script similaire mais en utilisant la syntaxe MS Batch.


la source
2

Je doute que vous trouviez sur le marché quelque chose qui puisse vous donner la fonctionnalité que vous recherchez. Plus probablement, vous devrez écrire du code personnalisé pour analyser les images pour les codes à barres, les lire, puis renommer les images. Bien sûr, cela pourrait être non seulement coûteux, mais prendre du temps. La vraie question devrait donc être: est-il moins coûteux de le faire à la main ou d’engager quelqu'un pour écrire un logiciel sur mesure que vous ne pourrez utiliser que très peu de fois? Les stagiaires sont parfaits pour les deux possibilités.

Toutefois, si vous êtes prêt à écrire du code, cet exemple de code serait une longueur d'avance importante.

http://www.codeproject.com/Articles/42852/Reading-Barcodes-from-an-Image-III

Il fait le gros du travail lourd pour vous. Il vous suffit de configurer un système pour renommer vos fichiers et d'ajouter un peu de logique métier afin de le faire fonctionner par lots. Je l'ai déjà utilisé auparavant et il est très efficace tant que vos codes à barres sont visibles.

Lee Harrison
la source
1

Le problème posé par le processus demandé est que le programme doit identifier le code à barres sans que l'utilisateur ne le laisse supposer dans une image arbitraire. Si le code à barres est grand par rapport au produit dans le cadre, alors vous aurez probablement du succès. Des bibliothèques open source et des fichiers binaires sont disponibles. Ils peuvent lire, par exemple, le format TIFF et renvoyer une chaîne. (ZBar était un IIRC http://www.youtube.com/watch?v=rqzQb_HMYf8 )

J'ai essayé ceci avec des articles plats d'environ 36 pouces carrés (et sans budget) et la taille du code à barres était si grande qu'elle a masqué l'objet dans le cadre.

J'utilise une caméra qui est actionnée à distance par un ordinateur en réseau et le logiciel utilisé capture l'image directement sur un serveur de fichiers et dispose d'un champ de texte permettant d'ajouter du texte d'utilisateur à un système de nommage automatique. Je sais pertinemment qu'un tel logiciel est disponible pour les appareils photo professionnels Canon et Nikon. (Je ne veux pas en faire une publicité, donc je ne parlerai pas de produit, mais du logiciel spécifique à Canon que j'utilise, je l'ai acheté il y a plusieurs années pour un prix de l'ordre de 50 $)

Étant donné que de nombreux scanneurs de codes à barres peuvent simuler la saisie au clavier, le photographe peut peut-être utiliser une solution similaire. Ensuite, vous pouvez introduire un processus permettant de définir le champ sur le champ dans le logiciel. Utilisez un lecteur de baguette pour balayer le code (en entrant le numéro de le champ), puis placez l’article pour le tournage. Couplé à un horodatage automatique, vous aurez déjà des fichiers pré-nommés sur le serveur et vous n’aurez plus besoin de "sneaker-net" les images de la carte de la caméra.

Le bonus supplémentaire est que le photographe peut voir l'image sur un grand moniteur avant de déplacer l'objet hors du plateau.

(Certains appareils photo sont livrés avec un logiciel de capture à fonctionnalités limitées. Par conséquent, la solution habituelle consistant à faire en sorte que le photographe les capture sur un disque puis à un de vos collaborateurs de les renommer à la volée pendant que le code de l'article est connu sera meilleure que de s'attaquer au problème. tâche d’identifier et de renommer 3000 d’entre eux plus tard)

horatio
la source
c'est la façon de faire cela. Configurez la caméra avec la visionneuse. affichez un aperçu à l’écran et scannez le code à barres que vous alliez insérer dans un champ de texte au lieu d’essayer de le photographier; la sauvegarde sera alors sauvegardée sous le nom. Vous pouvez même le construire vous-même, mais pourquoi réinventer la roue, il existe de nombreux programmes peu coûteux pour le faire, comme le mentionne
@horatio
0

Si le code-barres de l'image est suffisant, vous devriez pouvoir utiliser un scanner standard, tout comme celui-ci, pour lire le code-barres directement à partir de l'image.

http://www.amazon.co.uk/My-Link-Barcode-Scanner-Reader-Reading/dp/B000QGSUUK .

Ils ne font que sortir la série de caractères représentés par le code à barres. Vous pouvez alors simplement prendre ceci pour renommer le fichier.

(d'autres scanners sont disponibles).

ChrisF
la source