Home
Projet d`Imagerie Polytech`Nice Sophia Antipolis - Option TNS
Contents
1. fondamentaux en traitement d image par m thodes variationnelles Il faudra implanter l algorithme de Variation Totale et comparer les r sultats avec les filtres classiques sur des images Noir et Blanc ainsi que des images couleurs 1 4 D tection de Flamants Roses par Processus Ponctuels Marqu s pour l estimation de la taille des popula tions Les processus ponctuels sont champ assez r cent en traitement d images Il s agit de processus al atoires permettant la naissance ou la mort appari tion disparition d objets selon certaines conditions Ces conditions vont se traduire par un mod le a piori sur les int ractions entre les objets et un mod le d attache aux donn es valuation de l ad quation de l objet avec l image Les propri t s des objets d pendent de l application segments align s pour l extraction de r seaux routiers polygones pour la reconstitution d un Mod le Num rique d l vation Dans cet application on utilisera des cercles afin de d tecter des Flamands roses sur des prises de vue a riennes 2 Langage d impl mentation Vous implanterez le programme en C Vous travaillerez avec la bib lioth que graphique CImg qui met en uvre de fa on ais e les fonctions fondamentales du traitement d image acquisition affichage et diverses ma nipulations http cimg sourceforge net Attention CImg seule ne sait lire que des images au format ppm Pour lire presque tous le
2. vous de regarder dans la documentation de Clmg pour conna tre son comportement quelle taille a l image cr e Il existe aussi un constructeur par copie qui vous permet d initialiser un objet en copiant les donn es d un autre objet souvent de m me type void ma_fonction double mon_nombre d claration et initialisation d un objet Cimg lt int gt mon_imagel mon_image jpg appel au constructeur qui prend comme param tre un charx Cimg lt int gt mon_image2 mon_imagel appel au constructeur par copie image2 sera la copie de imagel La syntaxe suivante est quivalente void ma_fonction double mon_nombre Clmg lt int gt mon_imagel mon_image jpg appel au constructeur qui prend comme param tre un charx Cimg lt int gt mon_image2 mon_imagel appel au constructeur par copie image2 sera la copie de imagel Attention le code suivant a un comportement diff rent void ma_fonction double mon_nombre Cimg lt int gt mon_imagel mon_image jpg appel au constructeur qui prend comme param tre un charx Cimg lt int gt mon_image2 appel au constructeur par d faut mon_image2 mon_imagel appel l operateur d affectation 1 Comme vous pouvez le voir ici image est construite via le constructeur par d faut puis on utilise l operateur d affectation l op rateur pour lui affecter la valeur de imagel Pas de panique l op rateur et le constructeur de cop
3. Projet d Imagerie Polytech Nice Sophia Antipolis Option TNS A Fournier sous la direction de X Descombes 13 09 07 Introduction Ce document se pr sente comme un guide de survie pour les l ves de l op tion TNS suivant le projet d imagerie Il contient d abord une br ve pr senta tion des sujets traiter suivi d un tutorial sur la biblioth que de traitement d images CImg Quelques notions essentielles sur le langages C seront abord es avant d voquer quelques conseils g n raux Table des mati res 1 Pr sentation des sujets 2 LE JS La du x 6e ne de dei m as de bou pe E 2 12 Th crmination de fextures o cee cora Leur ea ee 2 1 3 Filtrage num rique par variation totale 2 1 4 D tection de Flamants Roses par Processus Ponctuels Marqu s 3 2 Langage d impl mentation 3 3 Le traitement d images le C et CImg 4 3 1 Constructeur constructeur par copie et constructeur par d faut 4 3 2 Passage par r f rence et passage par valeur 6 33 Aswe du Che Loue dut da iane paa ean 7 4 Recherches personnelles 8 5 Recommandations 8 1 Pr sentation des sujets Chaque groupe devra choisir un article parmi les quatre propos s Chaque article pr sente une m thode ou une s rie de m thodes permettant de r soudre un probl me classique de traitement d images Le travail propos est l implantation informatique de la m thode propos e et l application sur d
4. es images de test 1 1 Jetstream Il s agit d une m thode de d tection de contours bas e sur du filtrage particulaire Le filtrage particulaire peut tre vu comme une volution du filtre de Kalman discretis En pratique cel consiste g n rer plusieurs particules pour suivre un contour On fait voluer les particules sur l image selon certaines r gles et on s lectionne celles qui sont le plus repr sentatives du mod le a priori de contour pour g n rer les particules l tape suivante 1 2 Discrimination de textures Cet article pr sente une m thode de segmentation d images textur es par filtrage optimal L int r t de cette approche est que ce sont des techniques assez g n rales de traitement de signal qui sont utilis es plut t que des mod les sp cifiques au traitement d image La m thode permet de discriminer deux textures diff rentes sur la m me image Le travail demand consistera calculer et laborer le filtre optimal ainsi que d analyser les r sultats 1 3 Filtrage num rique par variation totale Les m thodes variationnelles font partie des m thodes classiques en traite ment d images Il s agit souvent de trouver et minimiser une fonctionnelle sur une image ce qui se traduira comme une ou plusieurs quations aux d riv es partielles Le filtre TV peut tre utilis comme une m thode de restaura tion d images bruit es m tant en uvre une version num rique des filtres
5. ie sont la plupart du temps quivalents mais rappelez vous que vous appelez deux fonctions diff rentes 3 2 Passage par r f rence et passage par valeur Supposons que pour les besoins de votre algorithme vous ayez fait une fonction auxiliaire qui modifie votre image Si vous tes habitu s travailler en C alors vous crirez probablement quelque chose de ce genre Clmg lt int gt fonction_auxiliaire CImg lt int gt image_a_traiter modifications de image_a_ traiter return image_a_ traiter Vous appelerez cette fonction probablement de cette fa on mon_image_modifiee image_a_ traiter mon_image mon_image mon_image_modifiee O plus simplement mon_image image_a_traiter mon_image Ceci fonctionne mais peut devenir tr s tr s lent Pourquoi Parce qu ima ge_a_traiter sera une copie locale de mon_image dans fonction_ auxiliaire C est dire que le constructeur de copie de la classe CImg lt int gt sera utilis pour cr er image_a_traiter partir de mon_image Autrement dit l appel de la fonction sera quivalent au code suivant CiImg lt int gt image_a_traiter mon_image modifications de image_a_ traiter Cimg lt int gt retour _de_fonction_auxiliaire image_a_traiter mon_image retour_de _fonction_auxiliaire mon_image mon_image_modifiee Ainsi toute l image sera copi e pixel par pixel trois reprises et ce inu tilement chaque fois que vous appelez fonction_ auxiliaire Si
6. l article que dans l implantation du programme qui en d coule Il me sera difficile de r pondre vos questions la veille au soir de la date limite En cas de probl me bloquage rien compris l article a compile pas n h sitez pas me contacter par mail alexandre fournier sophia inria fr ou par t l phone 04 92 38 77 73 vous pouvez trouver une version lectronique de ce document sur cette page http www sop inria fr ariana personnel Alexandre Fournier teaching php
7. l image est un peu grande et que cette fonction est bien plac e dans une bonne grosse boucle for vous pouvez tre s rs que vous allez mettre votre processeur genoux Pour r m dier a le C utilise la notion de pointeur mais la syntaxe qui en d coule est dangereuse et peu ais e utiliser Le C propose le m canisme de passage de param tre par r f rence Passer un param tre par r f rence permet de travailler v ritablement sur l objet pass et ainsi viter les copies La syntaxe est tr s simple On peut r crire fonction_auxiliaire de la fa on suivante void fonction_auxiliaire CIlmg lt int gt amp image_a_traiter notez l ajout du amp modifications de image_a_traiter Deux choses noter On ajoute un amp apr s le type d entr e pour indiquer qu on passe l image par r f rence fonction_auxiliaire ne renvoie plus rien plus besoin puisqu elle travaille directement sur l image qu on lui passe en param tre Pour utiliser la fonction rien de plus simple fontion_auxiliaire mon_image Ainsi mon_image sera modifi e par fonction_auxiliaire Cet appel sera alors quivalent modifications de mon_image 3 3 Astuces du C Le C poss de ses propres m thodes pour afficher du texte Elles sont plus faciles mettre en uvre que le printf du C include lt iostream gt int a 2 double pi 3 14 std cout lt lt pi lt lt u estusupe
8. rieuryau lt lt a lt lt std endl 4 Recherches personnelles Les articles courts pourront peut tre demander des recherches person nelles sur certains sujets En particulier il sera n cessaire d implanter un d tecteur de coins Voici titre indicatif l url d un code matlab mettant en uvre ce d tecteur http www wisdom weizmann ac il deniss vision_ spring04 files invariant_features harris m Les articles longs sont a priori suffisamment explicites pour se suffire eux m mes 5 Recommandations Certains des sujets propos s ont d j t donn s les ann es pr c dentes Il est vident que le but de ces projets est la compr hension d une technique ainsi que la r alisation d un programme la mettant en oeuvre La recopie de code source ou de rapport n entre pas dans ces objectifs en cons quence je me verrais oblig de s vir de mani re tragique si jamais je reconnaissais une source d inspiration parmi les travaux des ann es pr c dentes Une attention particuli re sera accord e sur la clart et la pertinence des commentaires et la qualit de la documentation De plus penser faire un mini mode d emploi un fichier texte d une demi page suffit de fa on ce qu on puisse au moins faire tourner votre programme Les sujets sont de difficult in gale ceci sera pris en compte lors de la notation Avancez r guli rement tant dans la lecture et la compr hension de
9. s types d images avec CImg vous devrez galement installer Image Magick http www imagemagick org script binary releases php La documentation de CImg est particuli rement fournie et explicite n an moins pour commencer voici les concepts fondamentaux acqu rir pour une utilisation basique La classe de r f rence qui manipule les images est la classe template Clmg CImMg lt T gt d clare une image dont les pixels seront repr sent s par des objets de type T en g n ral des unsigned char pour des entiers sur 8 bits mais on peut prendre des flottants ou des entiers si c est n cessaire Parmi les constructeurs de cette classe on remarquera CImg lt T gt monilmage int dx int dy int dz int c permet de cr er une image de taille dx par dy par dz et poss dant c canaux pour les couleurs entre autres Cimg lt T gt monlmage const char x nom_de_ fichier permet de cr er une image partir d un fichier Enfin LA m thode fondamentale de cette classe T amp operator int colonne int ligne pour acc der aux pixels en lecture et criture monimage 5 5 acc de au pixel de la sixi me ligne et de la sixi me colonne Si vous utilisez CImg regardez la documentation avant de vous attaquer une op ration sur l image certaines fonctions d j pr sentes dans la bib lioth que vous viteront d avoir r inventer la roue 3 Le traitement d images le C et CImg Le C e
10. st un langage puissant orient objet et h ritant de la syntaxe et des principes du C Normalement une utilisation la C pourrait fonc tionner parfaitement mais certaines notions pourraient vous poser quelques probl mes 3 1 Constructeur constructeur par copie et construc teur par d faut En C comme en Java les objets instances de class ou struct poss dent une ou plusieurs fonctions membres appel es constructeur Le con structeur sert initialiser les attributs de l objet Si dans une fonction vous d clarez un objet autre que char int double types de bases alors cet objet sera non seulement d clar mais galement initialis 4 e construit La syntaxe de d claration d un objet dans une fonction est donc void ma_fonction double mon_nombre d claration et initialisation d un objet Cimg lt int gt mon_image mon_image jpg mon_image est une instance de la classe Clmg lt int gt ici on invoque le constructeur qui prend comme param tre un charx donnant le nom du fichier o lire l image Attention toutefois Beaucoup d objets poss dent un constructeur par d faut C est dire un constructeur ne demandant pas de param tres C est lui qui sera invoqu par la syntaxe suivante void ma_fonction double mon_nombre d claration et initialisation d un objet Cimg lt int gt mon_image ATTENTION ici le constructeur par d faut est appel
Download Pdf Manuals
Related Search
Related Contents
User manual - produktinfo.conrad.com 2 juin 1965 View 取扱説明書 1 2 3 SYSMAC CS and CJ Series EtherNet/IP Units OPERATION MANUAL 取扱説明書 タイガー VE電気まほうびん 〈とく子さん NTEGRA Spectra Probe NanoLaboratory Copyright © All rights reserved.
Failed to retrieve file