# Gnral Dveloppement > Algorithme & Mathmatiques > Traitement d'images >  Cours pour apprendre le traitement d'images, la vision industrielle et robotique

## patrick.bonnin

Bonjour,

J'ai le plaisir de vous annoncer la parution du premier article, d'une srie de six composant un cours intitul : 

 *Les Bases du Traitement d'Image et de la Vision Industrielle et Robotique* . 
Adapt  un large public, grce  une pdagogie novatrice pour la discipline, ce cours prsente un certain nombre d'oprateurs dits de bas niveau :
histogrammes, oprateurs de visualisation,oprateurs de seuillage,oprateurs linaires agissant sur un voisinage 3x3 centr,oprateurs de lissage d'image,oprateurs de morphologie mathmatique,oprateurs de calcul de gradients, et d'affinage des contours.
Enfin, le dernier article traite de l'implmentation en Langage C des oprateurs prsents dans l'Environnement Logiciel de Traitement d'Image EdEnviTI.

Les codes source de l'environnement EdEnviTI, ainsi que de l'ensemble des oprateurs prsents dans la srie d'articles constituant la bibliothque EdVision sont galement disponibles sur le site.

 ::fleche::  *Partie 2 :* Visualisation des Images et Oprateurs Simples
 ::fleche::  *Partie 3 :* Introduction aux Diffrents Types de Segmentation
 ::fleche::  *Partie 4 :* Premire Chane Complte de Segmentation
 ::fleche::  *Partie 5 :* Segmentation en Contours 
 ::fleche::  *Partie 6 :* L'Environnement EdEnviTI et son utilisation 

Cordialement
Patrick Bonnin

 ::fleche::  Tous les meilleurs cours et tutoriels pour apprendre les algorithmes
 ::fleche::  Les meilleurs cours et tutoriels pour apprendre la programmation

----------


## Flodelarab

Bonjour  ::coucou:: 

Ne manque-t-il pas un lien ?

----------


## Francis Walter

::salut::  Flodelarab, le lien est maintenant ajout  ::merci::

----------


## patrick.bonnin

Bonjour,

J'ai le plaisir de vous informer de la parution du second article de la srie intitul : Visualisation des Images et Oprateurs Simples.

Plus pratique que le premier article d'introduction, ce second commence par dtailler l'algorithme puis l'implantation en Langage C 
dans l'environnement logiciel de traitement d'image EdEnviTI des deux mcanismes de base*: le balayage vido simple de l'image et le balayage vido avec  examen du voisinage 3 x 3 centr. 

Ensuite leurs applications sont prsentes au travers d'un certain nombre d'oprateurs*: l'Histogramme, le Rehaussement des Contrastes, la Quantification, la Rduction, le Zoom, ainsi que les oprateurs linaires non linaires, et des oprateurs ralisant la fonctionnalit de Lissage d'Image*: linaires tels que les filtres moyen et gaussien, non linaires tels que les filtres mdian et de Nagao.  

Amicalement
Patrick

 ::fleche::  Les meilleurs cours et tutoriels pour apprendre l'algorithmique

----------


## patrick.bonnin

Bonjour,

J'ai le plaisir de vous annoncer la parution de la troisime partie intitule * Introduction aux Diffrents Types de Segmentations*  du cours  Les Bases du Traitement d'Image et de la Vision Industrielle et Robotique .

Cette partie prsente succinctement des notions de segmentation*: en contours, en rgions, en mouvement, en profondeur et en couleur. Ces segmentations, plus complexes, ne font pas partie des bases que nous prsentons  niveau bachelor ou BAC + 3. Elles seront prsentes lors d'une seconde srie de cours.

Amicalement
Patrick

 ::fleche::  Les meilleurs cours et tutoriels pour apprendre l'algorithmique

----------


## GeoffreyOnRails

Bonjour, 

Tout d'abord un grand bravo et un grand merci pour ce contenu de grande qualit, a me permet de dcouvrir un nouveau domaine extrmement intressant  ::): 
Il est indiqu que l'environnement EdEnviTI est disponible sur le site developpez.com, mais je n'ai pas russi  le trouver, serait-il possible de fournir un lien? Ou bien est-il prvu de les diffuser uniquement pour le dernier article de la srie?

----------


## patrick.bonnin

Bonjour,

Tout d'abord, merci pour ton retour. c'est sympa.

EdEnviTI, l'environnement (uniquement 6 fichiers dont 3 .c et 3 .h) ainsi que l'ensemble
des oprateurs prsents dans les 5 premiers articles constituant la bibliothque EdVision
seront fournis sur le site : Francis m'a expliqu comment faire.

Le sixime et dernier article, en relecture orthographique, prsente EdEnviTI, et surtout comment
l'utiliser simplement. Le filtre lisseur moyen, donn en exemple est expliqu, puis je montre comment crer
le filtre lisseur gaussien, en modifiant les codes source du moyen, opration  raliser en moins de 10 minutes.
Il contiendra galement les deux liens.

Cordialement
Patrick Bonnin

----------


## laurentbargada

Excellente srie d'articles... on attend la suite avec impatience !
A+

----------


## patrick.bonnin

Bonjour,

Je vous remercie pour votre retour.
Les trois suivants arrivent.
Cordialement
Patrick Bonnin

----------


## patrick.bonnin

Bonjour,

J'ai le plaisir de vous annoncer la parution de la quatrime partie intitule  *Premire Chane Complte de Segmentation*  de la srie  Les Bases du Traitement d'Image et de la Vision Industrielle et Robotique .

Cette partie prsente un certain nombre d'oprateurs simples, rapides, trs efficaces dans certains contextes applicatifs, permettant de raliser une premire chane complte de segmentation, c'est--dire une application complte de vision.

Une application complte est compose gnralement des trois tapes suivantes :
la slection des pixels d'intrts ;le regroupement des pixels voisins en  primitive  ;la conformit de la primitive  la requte.

Ces oprateurs ayant un domaine d'application restreint, nous prsentons le contexte applicatif dans lequel ils doivent tre utiliss.

Enfin, cette partie comme les deux suivantes sont trs pratiques, comme l'est la seconde, dj publie.

Amicalement
Patrick

 ::fleche::  Les meilleurs cours et tutoriels pour apprendre l'algorithmique

----------


## joublie

Bonjour.

N'est-il pas paradoxal qu'un tel cours comporte des images trop compresses (ou trop petites aussi) ou encore utilise une compression JPEG au lieu d'une compression GIF ou bien PNG pour des quations, textes, etc. ? C'est dommage, tout le monde n'a pas une trs bonne vue et la lisibilit y gagnerait.

----------


## Francis Walter

> N'est-il pas paradoxal qu'un tel cours comporte des images trop compresses (ou trop petites aussi)


Avez-vous cliqu sur les images pour les apercevoir aux bonnes dimensions ?

----------


## patrick.bonnin

Bonjour,

Je vous remercie pour votre retour.
Pour les images, Francis vous a rpondu.
Je pense qu'il en est de mme pour les quations.
J'ai prfr faire des copies d'cran des quations sous Latex,
plus "jolies" que sous word / OpenOffice.

Sinon, vous pouvez vous procurer le livre :
"Les Bases du Traitement d'Image et de la Vision
Industrielle et Robotique" sur "lulu.com".
Cordialement
Patrick Bonnin

----------


## patrick.bonnin

Bonjour,

J'ai le plaisir de vous annoncer la parution de la cinquime partie intitule  *Segmentation en Contours*  de la srie  Les Bases du Traitement d'Image et de la Vision Industrielle et Robotique .

Aprs avoir prsent la notion de contour, ainsi que les diffrentes tapes constituant une segmentation en contours, nous dtaillerons le principe des trois premires*: le calcul du gradient, le seuillage sur la norme du gradient, et l'affinage.

Cette partie est la plus "mathmatique" de ce cours. Les formules thoriques sont prsentes, mais il n'est pas ncessaire de les comprendre dans le dtail pour comprendre l'oprateur. 

Amicalement
Patrick Bonnin

 ::fleche::  Les meilleurs cours et tutoriels pour apprendre l'algorithmique

----------


## patrick.bonnin

Bonjour,

J'ai le plaisir de vous annoncer la parution de la Sixime et dernire partie intitule  l'Environnement EdEnviTI et son utilisation  de la srie  Les Bases du Traitement d'Image et de la Vision Industrielle et Robotique .

Dans cette dernire partie, nous prsentons l'environnement logiciel de traitement d'image EdEnviTI dans lequel sont implants TOUS les oprateurs des parties prcdentes, constituant la bibliothque EdVision. Nous dtaillons ensuite la faon de l'utiliser :
comment compiler et excuter un oprateur (fichiers ncessaires)*;comprendre les codes des diffrentes parties*;comment programmer un nouvel oprateur, en recopiant puis modifiant les fichiers constituant l'oprateur fourni en exemple dans l'environnement.

Puis, nous donnerons quelques conseils dans le cadre de l'approfondissement de ce cours. Des liens vers les archives .zip des  bibliothques EdEnviTI (environnement)  et EdVision (oprateurs) sont donns dans cette dernire partie.

Enfin, le lien est vers la page de l'article est : Partie 6 : L'Environnement EdEnviTI et son utilisation

Amicalement
Patrick Bonnin

 ::fleche::  Les meilleurs cours et tutoriels pour apprendre l'algorithmique

----------


## Jipt

Bonjour,



> J'ai le plaisir de vous informer de la parution du second article de la srie intitul : Visualisation des Images et Oprateurs Simples.


Tout cela a l'air passionnant, cependant, dans la partie 2 on trouve, au chapitre IV-A-3, des instructions pour gnrer le binaire Histogram qui m'ont sembles incompltes :




> La ralisation de l'histogramme est obtenue grce  la commande EdHistogramme Histogram qui ncessite le code des parties :
> 
>     interface utilisateur, contenu dans le fichier EdHistogram.c ;
>     oprateur, contenu dans le fichier EdLibHistogram.c.


*ainsi que* l'utilitaire EdUtilities.c pour s'affranchir des erreurs 


```

```

(oui, j'ai renomm EdHistgram.c enEdHist*o*gram.c,  :;): ) mais a ne suffit pas, il me reste a sur les bras :


```

```

La solution se cache l : 

```
gcc -o Histogram EdHistogram.o EdLibHistogram.o EdUtilities.o -lm // "-lm", le flag qui sauve !
```

Lecture pour la piste.

Sinon, un microscopique souci avec la fonction de zoom, qui perd un pixel en gnrant le rsultat, et pourtant j'ai demand un rapport simple, "x 2", et ce quel que soit la mthode  :



Devant l'original, derrire l'image agrandie, regardez les tailles dans les barres de titre

----------


## Jipt

> Sinon, un microscopique souci avec la fonction de zoom, qui perd un pixel en gnrant le rsultat, et pourtant j'ai demand un rapport simple, "x 2", et ce quel que soit la mthode  :
> 
> 
> 
> Devant l'original, derrire l'image agrandie, regardez les tailles dans les barres de titre


J'ai fait a, pour le zoom en haut (dans EdZoom.c) et pour la rduction en bas (EdReduction.c), a me donne des valeurs correctes :


```

```

 ::coucou::

----------


## patrick.bonnin

Bonjour,

Si vous voulez comprendre les formules, il faut comprendre la manire de raliser les pixels intermdiaires.
C'est un petit peu plus complexe qu'une simple multiplication par le nombre de zoom.
Celle ci est prsente soit dans l'article 2 du site developpez.com, soit dans mon livre.
Cordialement
Patrick Bonnin

----------


## Jipt

Bonjour,

et merci pour ce retour.



> Si vous voulez comprendre les formules, il faut comprendre la manire de raliser les pixels intermdiaires.
> C'est un petit peu plus complexe qu'une simple multiplication par le nombre de zoom.


Peut-tre, mais en voyant a aprs avoir demand un facteur *2* (la source en vert en bas, le rsultat zoom en gris en haut),

je me suis simplement dit que quelque chose clochait.

Car _in fine_ je *dois* avoir un rsultat de 512x340.
Et pour avoir 512 colonnes en largeur, il va bien falloir que j'aie 512 pixels par ligne.

Aprs, s'il faut faire des bidouilles pour y arriver, je vais donc tudier a :



> Celle-ci est prsente soit dans *l'article 2* du site developpez.com, soit dans mon livre.


a tombe bien, je suis dessus en ce moment.  ::D: 

Ceci dit, quand j'ouvre un fichier avec ImageJ, que je demande Image/Scale... et que je spcifie XScale et YScale  *2*, la largeur et la hauteur de l'image rsultante sont bien _s'affichent comme_ multiplies par 2.

Les deux champs Width et Height ont t automagiquement remplis en saisissant les valeurs en X et en Y, et en cliquant sur [OK] on obtient a (rsultat tronqu pour ne pas alourdir) :



Noter les tailles sous les barres de titre.
Pas de raison que EdZoom ne fasse pas pareil.

Bon dimanche,

EDIT : 
Et quand on regarde le code source du plugin Scaler.java, on ne peut que constater qu'il utilise la mme simplicit que celle que j'ai propose :


```

```

Qu'en conclure ?

----------


## Flodelarab

> C'est un petit peu plus complexe qu'une simple multiplication par le nombre de zoom.


  ::lol::  Quel raisonnement !
On demande un caf et on nous sert un chocolat. "Ben oui, Monsieur, la fourniture de boisson chaude c'est un peu plus complexe que a".
On demande une grande blonde svelte et on nous propose une petite brune potele. "Ben oui, Monsieur, rencontrer l'amour, c'est un peu plus complexe que a."
On demande 512x340, on obtient 511x339. C'est plus compliqu ? Moi, je dirais surtout que la fonction ne fait pas son boulot.  ::mouarf::  Poubelle.

----------


## Jipt

> On demande 512x340, on obtient 511x339. C'est plus compliqu ? Moi, je dirais surtout que la fonction ne fait pas son boulot.  Poubelle.


Arrte, tu vas nous fcher l'auteur, alors que j'ai besoin d'autres prcisions, et plein de choses me semblent intressantes dans son tuto (surtout avec ma vision limite de ce domaine).

Mais par exemple, malgr une 3e lecture du chapitre 6, je n'ai toujours pas compris la *diffrence* entre EdEnviTI et EdVision.
D'aprs le texte, on pourrait s'attendre  ce que le premier facilite le travail (la compilation en l'espce) du second, mais que nenni :  la limite, le premier n'existerait pas que a ne changerait rien  la vie de ceux qui vont mettre leurs grosses mains velues dans le cambouis du second, au bout du compte on va se retrouver avec des binaires.

Regardons l'arborescence des deux dossiers : 

strictement identique (c'est moi qui ai cr "bin" et "mes_results"), juste que EdVision/src *contient toutes les sources* quand EdEnviTI/src *ne contient que* ce qu'il faut pour crer le binaire comme expliqu au chapitre 6, mais les explications qu'on y trouve s'appliquent tout autant aux autres .c de EdVision.

Donc  part embrouiller pour compliquer, je n'ai pas vu l'intrt de cette double arborescence. 
 ::koi:: 
Parce qu'au bout du compte, c'est quoi, l'ide ? Prendre les .c et les .h de EdVision/src et les mettre dans EdenviTI/src ? Pour quoi faire ? Qu'est-ce que a apporte ?

Merci des retours.

----------

