Vous trouverez sur cette page les dernières informations sur la Sté Midi-Formatique, des idées et des modifications éventuelles pour Xlisp et Qlisp, des conseils, etc.. Si vous avez une contribution pour cette page (une question, une application, un lien intéressant), contactez-nous !


22/12/2015 Joyeuses Fêtes

Nous vous souhaitons de Joyeuses Fêtes et une Bonne Année 2016. Excusez-nous de ne pas avoir régulièrement mis à jour ce site... trop de travail en 2015.


23/11/2015 Contrôle flacons e-liquide

Nous avons terminé notre installation « contrôle de remplissage par analyse d'images ». Veuillez trouver ici une description de ce projet.


14/10/2015 Synchronisation avec Arduino Ethernet

Arduino Ethernet Un client nous a demandé à analyser par visionique des flacons de type e-liquide qui sont en mouvement (rotation) sur un convoyeur. L'aspect le plus important dans ce projet était la synchronisation exacte de la prise d'images. 

A droite notre solution : une carte Arduino Ethernet avec une petite extension électronique. Un signal de synchronisation (3 impulsions) est envoyé à la caméra pour capter le flacon tous les 120°.

Résultat A gauche le résultat : la synthèse des 3 images permet de vérifier l'inclinaison du bouchon. D'autres mesures sont fait sur l'image prise au milieu : hauteur du bouchon, la position de l'anneau et le collage correct de l'étiquette. 

Un avantage de la carte Arduino est sa rapidité en raison de sa programmation en C : dans ce projet, nous avons obtenu un temps de scrutation qui permet l'acquisition avec une précision de 0,1mm. 

La carte Arduino pilote également l'éjection des flacons à 500mm derrière la caméra.


29/01/2015 Mise à jour de Qlisp

Une nouvelle version de Qlisp est téléchargeable. Elle contient l'interface pour la nouvelle bibliothèque Vimba d'Allied Visions et quelques corrections et nouvelles fonctions.


13/01/2015 Nouveau produit

Vision avec caméra PoEPour réaliser des applications en analyse d'images, nous avons développé un produit innovant. Ses particularités :

- Réduction au maximum du matériel nécessaire : l'installation consiste d'une caméra de type GigE-Vision qui est alimentée par son câble Ethernet (PoE), d'un switch et d'un ordinateur industriel (Panel Pc).

- Flexibilité au niveau du matériel et soft : l'installation peut être réalisée avec du matériel standard sans préférence d'un constructeur. La seule contrainte est d'avoir un ordinateur assez puissant pour l'application (selon la complexité de l'algorithme et le temps de calcul maximal). Le programme étant écrit en C++, il est utilisable avec des compilateurs et outils différents.

- Réduction au maximum du temps de développement : le système inclût Qlisp 5.0 pour la partie analyse d'images (article du 29/03/2014) et un outil RAD (Rapid Application Development) pour l'interface graphique. Cela nous permet à développer des applications puissantes dans un minimum de temps.

Une première installation est déjà réalisée et livrée. Pour des détails, voir ici.


28/11/2014 Transfert du siège sociale

L'assemblé générale extraordinaire a décidé de transférer le siège de notre société. La nouvelle adresse est : SARL Midi-Formatique, 13 A, rue Justi Pepratx, 66750 Saint-Cyprien. Pour nos contacter par internet, veuillez utiliser ce formulaire.


10/07/2014 Mesures à distance

Schéma ArduinoUn problème fréquent : effectuer des mesures sur des machines à distance pour suivre la production, réaliser un tableau de bord, détecter des dysfonctionnements, etc.. 

L'équipement doit avoir un prix raisonnable... et être résistant contre le bruit électromagnétique qui existe habituellement dans un environnement industriel.

Pour notre dernière réalisation, nous avons choisi une architecture basée sur des cartes Arduino Ethernet avec technologie PoE (power over ethernet). 

Si cette réalisation vous intéresse, veuillez lire aussi cet article.


29/03/2014 Nouvelle version de Qlisp

Beaucoup de nos applications industrielles sont basées sur C/C++ en utilisant un outil de développement rapide. Jusqu'ici, nous avons intégré dans cet environnement la bibliothèque des routines d'analyse d'images de Qlisp qui sont écrites en C. Le désavantage : un langage compilé ne s'adapte pas très bien à la programmation des applications en analyse d'images, chaque modification nécessite une ré-compilation du projet.

Nous venons de réaliser une approche différente : une intégration non seulement des fonctions en analyse d'images, mais aussi de Xlisp. L'interpréteur tourne dans un thread, la communication avec l'application industrielle (C++ Builder) se fait via des messages et la mémoire partagée.

Si vous être intéressé par cette réalisation, contactez-nous !


15/07/2013 Problème clavier avec Fedora 19

Nous venons de découvrir que Qlisp a un bug avec la nouvelle version Fedora 19 : le clavier ne fonctionne pas. Sans réellement comprendre le problème (il s'agit apparemment d'une incompatibilité entre TclTk et le IBus), ici une « solution » : exécuter unset XMODIFIERS avant de lancer Qlisp, le mieux en ajoutant une ligne directement dans le script « bin/qlisp ».


25/06/2013 Licenciement

Tilman Jochems a été licencié de l'Ecole IMERIR pour manquement à l'obligation contractuelle et attitude fautive. Les raisons citées sont étonnantes. Mais nous sommes surtout tristes que 18 ans de travail de M. Jochems au service d'IMERIR s'arrêtent de cette manière.


30/10/2012 Mille

1000 téléchargements de nos logiciels libres. En tête : Xlisp et Qlisp pour Windows (31.1% et 31.0%). Merci pour votre confiance.


05/04/2012 La version démo de OfficeLite n'est plus disponible

OfficeLite est un logiciel de Kuka qui permet la programmation "offline" de leurs robots. La version actuelle est 5.6. Nous regrettons que l'on ne puisse plus télécharger la version 4.1.7 qui était une version de démonstration limitée à 30 jours.


07/10/2011 Mise à jour de Qlisp

Une nouvelle version de Qlisp est téléchargeable. Elle contient la gestion de la liaison série, une amélioration du squelette par file d'attente (l'ébarbulage selon une taille), les dilatations géodésiques rapides et la correction de quelques bogues minimes.


20/05/2011 Projet d'intégration en robotique

Le projet d'intégration dans l'Ecole d'Ingénieurs IMERIR/Perpignan est terminé.

Ici, les étudiants travaillent sur un mini-projet pendant une durée de 40 heures :

  • des objets sont positionnés aléatoirement sur un convoyeur ;
  • une caméra détermine la position, l'orientation et la nature des objets ;
  • le résultat est communiqué à un robot via un serveur RS232/Ethernet ;
  • le robot prend l'objet et le range.

La vidéo à droite montre les résultats obtenus.

Merci aux étudiants pour la bonne ambiance pendant le projet


15/01/2011 Première expérience avec BECKHOFF

Un de nos clients a importé un prototype d'Allemagne. Nous sommes intervenus pour mettre à point la partie automatisme de la machine, complètement réalisée avec des composants de Beckhoff. Notre impression : ce sont des composants bien puissants, surtout EtherCat nous a plu, mais la documentation est quelque fois trop succincte. Merci au support de Beckhoff en Allemagne qui nous a bien aidés ici.

Aujourd'hui, la machine est en fabrication et donne satisfaction à notre client.


19/11/2010 Nouvelle version SimuKR6

KR6/2Pour apprendre la manipulation d'un robot, il est intéressant de posséder un outil et une pièce à usiner. Nous les avons offerts à notre KR6 virtuel.

L'outil possède son TCP (tool center point) à x=28,66 et z=156,96, son inclinaison est de 30°. La pièce à usiner est un parallélépipède rectangle avec une dimension de 1000x500x500, posé à l'endroit x=-1100 avec une rotation de 15° autour de z.

Vous pouvez télécharger notre nouvelle version de SimuKr6 qui inclut l'outil et la pièce ici, et voir "l'usinage" de la pièce dans cette vidéo.


30/05/2010 Bras virtuel KR6/2 pour OfficeLite

KR6/2Le fabricant allemand Kuka commercialise le logiciel "OfficeLite" (une version de démonstration peut être téléchargée sur leur site) qui permet la programmation "offline". Il s'agit d'une simulation du logiciel installé sur les vrais robots. Mais il n'y a pas de bras. Et à vrai dire, un robot sans bras, c'est comme un poisson sans vélo !

C'est la raison pour laquelle nous avons développé un bras virtuel qui est commandé par le logiciel OfficeLite. Cette réalisation se compose de :

- OfficeLite V4.1.7 ou V5.5 de Kuka ;
- un serveur de position en C++ qui lit en permanence la position des axes. Pour cette partie, nous nous sommes inspirés de l'étude de Paul Chavent / IMERIR ;
- Instant Viewer de Frauenhofer IGD qui est un afficheur 3d de très bonne qualité ;
- le modèle du robot. Ici nous avons repris le travail de Martin Rohrmeier / DLR ;
- un serveur du bras virtuel en JAVA qui utilise le "External Authoring Interface" de VRML.

Il existe une vidéo qui montre notre réalisation. Et, pour que vous puissez désormais jouer comme nous avec votre robot à la maison, nous la mettons à votre disposition (avec sources complètes en C++, JAVA et VRML). Have fun !


20/05/2010 Contrôle URSSAF

L'Urssaf (Union de Recouvrement des Cotisations de Sécurité Sociale et d'Allocations Familiales) a effectué un contrôle sur pièces de notre gestion. Constat : "Aucune irrégularité relevée…". Dans ce cadre, nous remercions vivement Plein Sud Entreprises, et notamment Jacqueline LEY, de leurs bons conseils depuis la création de notre entreprise en 1998.


15/03/2010 Remplacement d'un variateur de vitesse mécanique

Un de nos clients était un petit peu embarrassé : un fournisseur, la SA PIV / VILLEURBANNE, semble avoir cessé son activité. Mais comment réaliser ou réparer une machine qui utilise un variateur de vitesse mécanique de cette société ?

Avec notre client, nous avons développé une solution de remplacement : la synchronisation est désormais assuré par un moteur brushless d'Emerson. La solution donne pleinement satisfaction à notre client. En plus, elle est moins chère !


25/02/2010 GigE Vison interface pour Qlisp

GC1290CGigE Vision est une interface qui utilise le protocole IP avec 1000mb/s. Il s'agit d'un standard industriel qui permet l'acquisition d'images sur des grandes distances (100m) avec une fréquence élevée (la GC1290C peut fournir, par exemple, 33 images/s en pleine résolution). L'avantage supplémentaire est la compatibilité de l'interface entre des caméras de constructeurs différents.

Nous avons utilisé le SDK de Prosilica (aujourd'hui Allied Vision Technologies) qui est très bien fait : Allied Vision met gratuitement à la disposition de ses clients des utilitaires pour paramétrer la caméra, des DLLs (Windows et Linux, 32bits et 64bits), des entêtes ".h" et même une multitude d'exemples qui montrent l'utilisation de la caméra. Impeccable !

L'intégration dans Qlisp était facile. Désormais, GigE Vision caméras sont utilisables en Qlisp sous Windows et Linux. Si cette interface vous intéresse, veuillez télécharger la version la plus récente de Qlisp.


12/06/2009 Synchronisation entre 2 axes

Dans le cadre d'une modernisation d'une machine, nous avons remplacé des servo-moteurs FX/PCM15 d'Emerson par les modules EN208/FM4. Dans ce cadre, nous avons développé une nouvelle méthode de déphasage entre deux axes qui applique un mouvement avec une vitesse légèrement modifiée. Ce procédé implique la résolution numérique d'une équation de l'ordre 3. Le résultat est remarquable : nous avons obtenu une précision avec un écart maximal de 0.01%.


17/03/2009 Reconnaissance de gâteaux

Dans le cadre d'un projet d'intégration robotique, des étudiants de l'école IMERIR ont développé une station de conditionnement : des gâteaux arrivant sur un convoyeur sont détectés à l'aide d'une caméra. La taille, l'orientation et la nature du produit sont ensuite communiquées à un robot qui se charge de l'emboîtage. Les photos montrent les étapes principales de l'algorithme en analyse d'images réalisé avec Qlisp.

Original Contours Produit Résultat

1) Gâteaux sur convoyeur

2) Extraction contours

3) Reconnaissance produit

4) Résultat


19/01/2009 Compilation de Xlisp et Qlisp sous Windows

Nous avons adapté Xlisp et Qlisp pour être compatible avec GCC sous MinGW (Minimalist GNU for Windows) : les fichiers "Makefile" et les resources ont été modifiés. Si cette amélioration vous intéresse, veuillez télécharger la version la plus récente.


20/12/2008 Système de freinage individuel

C'est la huitième machine que nous venons d'équiper par notre système de freinage individuel. Cette fois-ci, il s'agissait de remplacer un système ancien qui possédait une technologie moins performante et plus difficile à entretenir. En collaboration avec l'Equipe de la Maintenance de notre client, le basculement a été réalisé en une seule journée. Nous remercions l'Equipe de la Maintenance pour son aide précieuse.


30/05/2008 Communication avec Qlisp ?

Nous développons un robot mobil et voulons utiliser Qlisp pour la partie vision. Comment pouvons nous communiquer les résultats de l'analyse d'images à notre application principale qui est écrite en C sous Linux ?

La façon la plus facile représente les "tubes nommés" qui sont créés avec la commande $mkfifo name. En Qlisp, on ouvre le tube avec (setq fp (open "name" :direction :output)). Pour un premier test, je propose d'ouvrir ce tube en lecture dans un shell : $cat name. Maintenant on écrit dans le tube avec (format fp "hello world~%"), "hello world" sera alors transféré vers l'autre processus (le shell). On ferme le tube avec (close fp) ; c'est le moment où "cat" affichera la chaîne. Il est aussi possible de communiquer dans l'autre sens, bien sûr.

Etant donné que Qlisp est livré avec ses sources, vous pouvez utiliser d'autres mécanismes de communication (sockets, DDE, shared memory, etc.) en intégrant ces fonctions dans Qlisp. Le module "distcam" donne un exemple de communication par socket avec une caméra installée sur un autre ordinateur (distcamserver).


18/01/08 Visualisation comme topographie

Gradient

1) Gradient

Comment expliquer la "ligne de partage des eaux" ? Cette transformation calcule les "crêtes plus ou moins élevées séparant deux bassins hydrographiques" [Petit Larousse Illustré, 1998]. Alors, il suffit de pouvoir s'imaginer une image comme un relief ...

Mais examinez l'image à droite. Vous y voyez des bassins et des crêtes, des vallées et des montagnes ?

Une manipulation visuelle peut aider. On ajoute des ombres aux objets : les pentes dans la direction de la lumière seront éclaircies, les autres assombries. Pour permettre une imagination parfaite, on colorie ensuite les vallées en vert et les montagnes en blanc (en appliquant une LUT = look-up-table).

Nous utilisons deux méthodes différentes pour calculer l'ombre : par convolution et par des transformations morphologiques. Les images ci-dessous montrent les résultats obtenus, la lumière entrant par le nord-ouest de l'image.

Visitez aussi le site de l'Ecole des Mines de Paris pour une démonstration merveilleuse de la ligne de partage des eaux.

Convolution Conv + Lut Relief par Morphologie Morph + Lut

2) Relief par convolution

3) Relief par transformations morphologiques

Programmation du relief avec Qlisp

;calcul par convolution
(conv grad '((2 1 0) (1 1 -1) (0 -1 -2)) 2 2)

;calcul par érosion/dilatation
(setq t1 (sub grad (erosion grad 65 3)))
(setq t2 (sub (dilation grad 65 3) grad))
(subl (addl (div grad 2) 128 t1) t2)

03/11/2007 Solaris sun4v

Nous avons testé les programmes Xlisp4.3 et Qlisp4.3 sur un serveur SUN (system d'exploitation : solaris, architecture : sun4v). Cela était d'autant plus intéressant que les processeurs SPARC stockent les données en format big-endian (une adresse pointe sur l'octet avec le plus grand poids). Résultat : nos programmes fonctionnent aussi sur cette architecture (compilation avec gcc). Nous mettons désormais les fichiers binaires de cette configuration à votre disposition.


26/02/2007 Prototype

Depuis plus d'un an, nous développons un distributeur de bouteilles de gaz. Ce mois, nous avons terminé notre premier prototype fonctionnel. L'installation permet l'achat en libre service de bouteilles de gaz. Veuillez lire la présentation détaillée de ce projet.


08/04/2006 Version 64 bits de Xlisp et Qlisp sous Linux

Désormais, vous pouvez compiler Xlisp et Qlisp sur une architecture 64 bits sous Linux. L'avantage est surtout la compatibilité avec les bibliothèques et modules installés sur votre ordinateur. Nous n'avons, par contre, pas encore optimisé les routines pour ce type de processeur.

Les sources et les fichiers Makefile ont été adaptés. La variable "ARCH=i386 ou ARCH=x86_64" au début du Makefile informe sur l'architecture cible. La nouvelle version que vous pouvez télécharger contient également les bibliothèques de Tcl/Tk 8.4.9 en 64 bits.

Nous avons testé les programme avec la distribution Fedora Core 4 avec un processeur AMD X2 3800+. Les versions 32 bits restent maintenues pour assurer la compatibilité des exécutables avec les processeurs de type i386. Les versions Windows sont utilisables sans modification.


31/03/2006 Amélioration du module dshow.dll

DShow.dllNous avons amélioré l'acquisition d'images sous Microsoft Windows : pendant la construction du graphe des filtres, nous détectons la présence d'une carte de télévision et ajoutons dans le menu les options "Crossbar" et "Tuner". Cela ne permet pas seulement la capture des images de télévision, mais aussi l'utilisation des entrées analogiques de telles cartes. Les images sont capturées en format RGB24, la fréquence est de 25 images/s en format 320x240.

Nous avons testé le module avec les cartes "Asus Europa II" et "Terratec Cinergy 400" en utilisant DirectX 9 sous Windows 98, 2000 et XP. L'acquisition des images à partir des caméras usb et firewire reste identique.

Vous pouvez télécharger la nouvelle version de Qlisp4.3 qui contient le module ainsi que de multiples améliorations de Qlisp.


18/04/2005 Problème d'installation

<< …quand je télécharge les fichiers et que je les extrais, il n'y a rien dans le dossier ? j'utilise winace pour décompresser. >> 

Nous réunions et compressons les fichiers pour Xlisp4 et Qlisp4 sous Linux avec les outils tar et gzip. C'est la raison pour laquelle nous les avons nommés "*.tar.gz". WinZip comprend cette extension, Winace apparemment non.

Pour résoudre ce problème, il suffit de renommer les fichiers en "*.tgz". Nous le faisons désormais directement sur notre page de téléchargement.

Merci pour votre contribution.


01/04/2005 FONT.LSP

Evènement

Le programme "font.lsp" ajout une fonctionnalité importante à notre système d'analyse d'images Qlisp : écrire des chaînes de caractères.

Nous avons aussitôt modifié le programme de détection de mouvements (voir aussi l'article 02/05/03). La chaîne enregistrée sur les images permet ainsi l'identification postérieure du temps et de la date des évènements.


20/08/2004 Télécommande infrarouge

Interface graphiqueCommander des appareils électroménagères par un ordinateur pour, par exemple, baisser le volume de la musique dans le séjour pendant que l'on travaille dans son bureau, cela nous a semblé une application indispensable :->. Et voila notre réalisation : la photo d'une télécommande est affichée sur l'écran, il suffit de cliquer avec la souris sur les boutons... et les commands sont exécutés.

Schéma électriqueA gauche vous pouvez apercevoir l'interface graphique du programme, jusqu'à 5 télécommandes peuvent être affectées. Il faut enregistrer dans une base de données l'image de la télécommande, la position et la forme des boutons, les codes associés, etc.. Un petit circuit (à droite) amplifie les signaux du port série, une diode infrarouge (LD274) émette des impulsions d'une durée de 5us et d'une fréquence de 36kHz.

Si ce programme vous intéresse, vous pouvez télécharger ses sources (C++Builder) et le schéma complet du circuit électronique. Si vous utilisez WindowsNT/2000/XP, vous devriez installer aussi le driver giveio.sys. Nous vous conseillons le site Linux Infrared Remote Control qui inclut une bibliothèque des codes fréquemment utilisés.


13/02/2004 Changez la couleur de votre voiture !

Vous n'aimez plus la couleur de votre voiture ? Ce n'est pas grave, vous pouvez la changer facilement avec Qlisp !

Avant Après
1) Avant 2) Après

Nous avons programmé cet exemple pour démontrer le modèle "IHS" (intensity, hue, saturation) : la fonction (rgb-ihs ima) de Qlisp convertit une image RGB en IHS ; nous ajoutons ensuite une constante au canal "hue" qui représente la teinte ; reste-t-il la reconversion (ihs-rgb ima) de l'image ainsi modifiée.

L'application s'appelle "changecol.lsp", elle est désormais intégrée dans Qlisp. Lancez la fonction principale (main). Un menu vous permet : 1) chargement de l'image de départ, 2) segmentation, 3) choix interactif de la couleur, 4) application de l'algorithme décrit ci-dessus.

Amusez-vous bien !

Nous remercions M. Julien DUJIN qui nous a donné l'idée pour ce programme.


05/08/2003 Acquisition d'images avec DirectShow 9.1A

DirectShow est un composant de DirectX de MS-Windows. Son architecture est basée sur la technologie COM (Component Object Model) et permet aux applications la capture et le rendement des images et du son. DirectShow est compatible avec le "Windows Driver Model (WDM)" et avec l'ancien "Video for Windows (VFW)". Qlisp utilisait jusqu'ici VFW et sa passerelle vers WDM dans son module "videocap.dll". L'utilisation de DirectShow permet une acquisition plus performante.

Le schéma suivant montre le principe de DirectShow : l'application communique avec le "Filter Graph Manager" pour construire un graphe de flux. Des "filtres" existants permettent la connexion avec la caméra, la capture des images isolées, la conversion des formats et l'affichage.

Principe de DShow

Nous avons intégré DirectShow dans Qlisp. Le module se charge dynamiquement avec l'appel (caminit "dshow"). L'acquisition d'une image couleur (24 bits) se fait par l'instruction (camsnap nr), "nr" présentant l'identification de la source. La fonction (camread) permet de transférer ensuite l'image acquise.

Permettez-nous quelques remarques sur la réalisation de ce module :


27/05/2003 Comment filtrer des images en couleur ?

«...je voudrais traiter une image en couleur, notamment la rendre un peu plus nette ! Alors voilà, après avoir cherché de longues heures sur le net, je n'ai rien trouvé à part des trucs super compliqués auxquels je ne comprends rien...»

Nous proposons la convolution par un filtre qui amplifie les fréquences moyennes de l'image. Ce filtre possède la réponse impulsionnelle suivante :

-1 -1 -1 -1 -1
-1 0 0 0 -1
-1 0 25 0 -1
-1 0 0 0 -1
-1 -1 -1 -1 -1

Une valeur centrale plus petite augmente l'effet du filtrage, une valeur plus grande le diminue. Pour appliquer ce filtre à une image en couleur, il existe deux possibilités :


1. Filtrer l'image RGB

On traite identiquement chaque canal rouge, vert et bleue de l'image. Voici le code correspondant pour Qlisp :

(defun filter1(ima &optional (val 25) &aux rgb res)
(setq rgb (col-grey ima)) ;extraction de canaux RGB
(dolist(x rgb) ;traiter chaque canal
(setq res (cons
(conv x (middlepass val) 1) ;convolution
res)))
(grey-col (reverse res))) ;former le résultat

Cette méthode s'adapte bien aux filtres linéaires. L'application de filtres morphologiques, par contre, peut introduire de fausses couleurs sur les bords des objets.


2. Travailler dans l'espace IHS

Cette solution transforme d'abord l'image dans le format IHS. "I" est l'intensité de chaque pixel, "H" (hue) l'indice d'une couleur et "S" la saturation de cette couleur. Il suffit de filtrer le canal "I" pour rendre l'image plus nette. L'algorithme est 1,5 fois plus rapide que le premier filtre.

(defun filter2(ima &optional (val 25) &aux ihs i_filtered)
(setq ihs (col-grey (rgb-ihs ima))) ;extraction de canaux IHS
(setq i_filtered ;filtrer le canal I
(conv (car ihs) (middlepass val) 1))
(ihs-rgb (grey-col ;former le résultat
(cons i_filtered (cdr ihs)))))

Dans le cadre de l'analyse d'image, il est souvent plus intéressant de travailler dans l'espace IHS. L'algorithme de détection de mouvements, décrit plus bas sur cette page, utilise aussi ce format.


Résultats

Original Filtre 1 Filtre 2
1) Original :
le boulanger arrive...
2) Filtrage des canaux RGB 3) Filtrage dans l'espace IHS


17/05/2003 Lecture de codes-barres avec une caméra

produit avec code-barres
Le code sur l'image est reconnu : l'appel (EanRead) fournit la liste (3 2 9 5 4 9 1 5 0 0 0 3 1)

Une extension du programme "barcode.lsp" vous permet désormais la reconnaissance de codes-barres UPC/EAN-13. Cette identification du produit pourrait être la première étape d'un contrôle de qualité.

Un code-barres nécessite 100 pixels pour être visualisé sans faute. La résolution d'une webcam (vga : 640x480) suffit de reconnaître correctement le code.

Notre programme corrige automatiquement l'éclairage et les fautes géométriques de la caméra. La somme des chiffres obtenus permet le contrôle du résultat.

Pour des informations supplémentaires sur le code UPC/EAN-13, visitez le site de Russ Adams.


09/05/2003 Création de codes-barres UPC/EAN-13 avec Qlisp

Le programme barcode.lsp (inclus dans la distribution de Qlisp) vous permet de créer des images qui correspondent aux codes-barres de la norme UPC/EAN-13. Voici le résultat que vous pouvez obtenir avec l'appel de la fonction (EanDraw '(5 3 9 1 5 0 3 6 4 0 9 2 9)).

code-barres

Dans l'image obtenue, chaque barre possède une largeur de 1 à 4 pixels. Vous pouvez enregistrer l'image sous format BMP ou EPS et l'intégrer ensuite comme graphique dans un programme de traitement de texte.


06/05/2003 Radiation du numéro de formateur

Avec l'objectif de rationaliser l'offre de formation, les modalités de déclaration d'activité des prestataires de formation ont été modifiées par la loi n°2002-73 du 17 janvier 2002. Les nouvelles conditions vont empêcher les prestataires, qui interviennent uniquement pour le compte d'autres prestataires, d'obtenir un numéro de déclaration. L'objectif est de diminuer sensiblement le nombre de dispensateurs déclarés. Dans ce contexte, le numéro de formateur de la société Midi-Formatique a été radié.

Si vous êtes intéressé avec quel cynisme notre gouvernement (Raffarin) agit, lisez la circulaire DGEFP/GNC n° 2002-47 du 31 octobre 2002.


02/05/2003 - Surveillez vos jardins avec Qlisp

Le programme prend une image toutes les 250ms. Cette image est comparée avec les dernières images acquises. En cas de modification importante (un objet qui bouge), l'image sera enregistrée sous format JPEG. De cette manière, vous pouvez surveiller votre jardin ou l'entrée de votre maison sans être présent.

Voici un exemple du résultat du programme :

Feierabend Si vous voulez essayer le programme chez vous, chargez le fichier "tomato.lsp", créez un répertoire pour les résultats ("~/images"), initialisez la caméra (init 0) et lancez l'observation avec l'instruction (tomato). Les résultats peuvent être visualisés avec la fonction (show).

P.-S. : L'utilisation du programme est strictement réservée aux particuliers. La Sté Midi-Formatique ne peut, en aucun cas, être tenue responsable en cas de litiges avec vos voisins !

Télécharger     Début      Contact