• Aucun résultat trouvé

L'image dans le projet d'architecture ou d'urbanisme

N/A
N/A
Protected

Academic year: 2021

Partager "L'image dans le projet d'architecture ou d'urbanisme"

Copied!
40
0
0

Texte intégral

(1)

HAL Id: hal-03099606

https://hal.archives-ouvertes.fr/hal-03099606

Submitted on 6 Jan 2021

HAL is a multi-disciplinary open access

archive for the deposit and dissemination of sci-entific research documents, whether they are pub-lished or not. The documents may come from teaching and research institutions in France or abroad, or from public or private research centers.

L’archive ouverte pluridisciplinaire HAL, est destinée au dépôt et à la diffusion de documents scientifiques de niveau recherche, publiés ou non, émanant des établissements d’enseignement et de recherche français ou étrangers, des laboratoires publics ou privés.

L’image dans le projet d’architecture ou d’urbanisme

Alain Constans

To cite this version:

Alain Constans. L’image dans le projet d’architecture ou d’urbanisme. [Rapport de recherche]

0892/94, Ecole d’Architecture de Paris-Conflans; Bureau de la recherche architecturale (BRA). 1994, pp. 39. �hal-03099606�

(2)

* , V .'# ■m 4 &i * m .

ECOLE D’ARCHITECTURE DE PARIS-CONFLANS

11, rue du Séminaire de Conflans

94220 CHARENTON LE PONT

Alain CONSTANS

4

ïL-'

M

■î V %- \ ‘ *. 3V-'V, *2»'l î ■i< i ' •'* A/ , i **Æ'~ ■ ' v.:i

Contrat de recherche

L'IMAGE DANS LE PROJET D'ARCHITECTURE

OU D’URBANISME

'H * vp ■■

Rapport final

Juin 1994

*•.

Ministère de l ’équipement, des transports et du tourisme. Di­

rection de l ’architecture et de l ’urbanisme,

sous-direction

des enseignements et des professions,

bureau de la recherche

architecturale.

LETTRE DE COMMANDE N°

^ ^

DU

,9o

"Le présent document constitue le rapport final d ’une recher­

che remise au bureau de la recherche architecturale en exécu- ,

tion du programme général de recherche mené par le Ministère

de l ’équipement, des transports et du tourisme avec le Minis­

tère de 1 ’enseignements supérieur et de la recherche. Les ju­

gements et opinions émis par les responsables de la recherche

n ’engagent que leurs auteurs".

. .. . - , . V f .

(3)

k

PLAN DU RAPPORT

i r ' *

I - INTRODUCTION

II - SEGMENTATION D’IMAGES COULEUR ET

EXTRACTION DE PARAMETRES

MORPHOLOGIQUES (CALCUL DE SURFACES,...)

III - QUALITE SUBJECTIVE DES IMAGES

ETAT ACTUEL DE LA QUESTION

IV - RESULTATS

V - CONCLUSION

VI - ANNEXE : PROGRAMME SURFIMA.C

a -;

(4)

I - INTRODUCTION

L'image est une source d'information et un support de communication. Le but est d’étudier si l’information contenue dans une image est plus ou moins bien perçue par l’observateur ou si ce que le concepteur veut transmettre à son correspondant lui parvient bien.

Le traitement et l'analyse d'images ont pour but d'extraire, d'isoler et d'analyser les informations contenues dans une image. Les techniques de production d'images de synthèse cherchent à mettre en évidence et à communiquer un certain nombre de concepts. Il parait •■intéressant, en fonction du but indiqué plus haut, d'appliquer simultanément aux processus informatisés de production du projet d'architecture ou d'urbanisme ces deux méthodes afin d'évaluer et de préciser la qualité et les possibilités de traitement de l'information qu'ils proposent.

Par la réalisation et la diffusion d'images de synthèse, le concepteur cherche à véhiculer et communiquer un certain nombre d'information et de concepts, données qui sont issues soit d'images réelles, photographie d'un site par exemple, soit d'images virtuelles, comme une maquette numérique. Tous ces éléments se présentent dans l’image sous la forme de grandeurs physiques du domaine de l'optique, telles que les fréquences spatiales, les densités ou les couleurs.

En deuxième lieu, et plus particulièrement dans le cas du projet architectural ou urbain, l'organisation de l'information diffère selon qu'il s'agit de modéliser ou de communiquer, ou selon qu'il s'agit de se placer du point de vue de la prise de données et de la programmation ou de celui de l'élaboration du projet. La nature des concepts à transmettre ainsi que les moyens mis en oeuvre pour les communiquer dépendent étroitement de la qualité des destinataires. Ainsi la représentation utilisée pour modéliser le projet relèvera de méthodes qui peuvent être très différentes de celles de la représentation destinée à communiquer.

Méthodes de recherche

Ce thème de recherche, pour être traité globalement, demande l’emploi simultané et la combinaison des moyens de traitement et d'analyse d'images, des moyens de représentation (CAO et image de synthèse) et des moyens de simulation et d'évaluation sur des cas concrets et réalistes. Il nécessite l'étude et la mise en oeuvre de protocoles de travail.

Dans le cadre de la première étape de ce travail, il a semblé nécessaire de commencer par l'étude de l'application des méthodes du traitement et de l'analyse au cas de l'image d'architecture, et plus particulièrement de chercher à mettre en évidence certains paramètres utiles au concepteur. Ainsi, peuvent être recherchés les informations morphologiques, surfaces, distances et périmètres, facteurs de forme, et ce en fonction de leur couleur, de leur forme.

L'exploitation de l'information contenue dans la structure d'une image peut se faire essentiellement de deux façons: par traitement analogique, optique par exemple, ou par traitement numérique du signal optique digitalisé. La première approche utilise des transformations analogiques globales, la seconde traite le signal point par point.

En ce qui concerne la capacité d ’une image à transmettre l’information ou à mettre en valeur les qualités plastiques ou une ambiance..., il a paru indispensable d ’effectuer l’étude

(5)

bibliographique de l’état actuel de la question qu’on pourrait définir comme la recherche des méthodes d ’évaluation de la qualité subjective d’une image.

Acquisition des images numériques

L'objectif étant de proposer une méthode liée à l'image de synthèse pour l'architecte, la première source d'image est celle produite par le concepteur dans la phase de conception, lorsque celui-ci l'utilise comme moyen de simulation et d'évaluation à son propre usage. Il s'agit donc d'images numériques dans un standard tel que PICT ou TGA, par exemple. Des systèmes comme PHOTOSHOP permettent, soit en compatible PC sous WINDOWS, soit en MACKINTOSH le transfert d'un standard dans un autre (PICT, BMP, TGA, TIFF, PCX,...). Ainsi, tous les systèmes d'images usuels peuvent être pris en compte.

Lorsque l'image n'est pas déjà sous forme numérisée le choix du scanner comme moyen d'acquisition parait comme le plus approprié, compte tenu notamment du support papier universellement employé dans la profession. De plus, c'est le plus proche de l'image de synthèse qui est toujours sous la forme de pixels.

Ce choix implique les principales conséquences suivantes:

-image dont l'information est exclusivement sous la forme de "pixels", donc non structurée, non vectorisée en particulier.

-l'information est entachée de bruit d'acquisition plus ou moins important -les fichiers peuvent être volumineux, si la résolution d'acquisition est grande

-les images peuvent être en perspective, d’où la nécessité de connaître les coordonnées du point de vue

-il faut tenir compte des ombres qui modifient la couleur -cas des lignes et faces cachées, problème difficile à résoudre

Le matériel retenu a été un scanner UMAX, 400 dpi et 16 millions de couleurs, papier ou transparent, piloté sous PHOTOSHOP en WINDOWS ou en MACKINTOSH.

(6)

I I

- S E G M E N T A T I O N D ’I M A G E S C O U L E U R E T

E X T R A C T I O N D E P A R A M E T R E S M O R P H O L O G I Q U E S

( C A L C U L D E S U R F A C E S ,...)

Introduction

La numérisation des images associée à l'infrastructure informatique ouvre à l'architecte un large éventail de possibilités quant à la création, la simulation et l'animation, ainsi qu'au chiffrage des volumes.

C'est ce dernier aspect qui retient notre attention ici, et plus particulièrement :1a mesure des surfaces composant un plan d'urbanisme, où chaque bâtiment se voit attribué une couleur particulière. L ’extraction de paramètres morphologiques, (périmètres, facteurs de forme, modèles;géométriques,...), procède des mêmes méthodes.

Il s'agit donc ici de mesurer la surface au sol de chacun de ces bâtiments. A l'intérieur des contours représentant ces constructions peuvent figurer des nombres indiquant le nombre d'étages ou d’autres caractéristiques, humide ou pas par éxemple. Le programme de traitement d'images inclura la reconnaissance des caractères de telle sorte qu'il sera possible d'attribuer à chacun des bâtiments une surface totale représentée par la surface au sol multipliée par le nombre d'étages.

Topologie

La couleur attribuée à chaque bâtiment est uniforme.

Deux bâtiments différents peuvent avoir la même couleur. Ils devront être reconnus par le programme, avec intervention ou non de l’opérateur, comme deux entités distinctes auxquelles seront affectées les surfaces respectives.

Deux bâtiments attenants ne peuvent avoir la même couleur s'ils doivent être considérés comme deux entités différentes.

Nous considérerons qu'un bâtiment est un élément représenté par une surface simplement ou multiplement connexe. En aucun cas il ne peut désigner deux entités disjointes.

Nous supposerons qu'il n'y a pas de recouvrement de bâtiment par un autre.

Certains détails concernant les images à traiter ne devront pas être pris en compte dans la segmentation. Ce sont notamment les liserés blancs qui soulignent les contours des bâtiments et les inscriptions alphanumériques superposées sur les images.

Différentes approches de segmentation

La distinction automatique des différents éléments constitutifs de l'image peut être réalisée de multiples façons.

Les traitements seront différents selon que l'on privilégie l'aspect région ou l'aspect contour Les traitements basés sur la notion de région font intervenir des critères d'homogénéité de chacune des régions. Deux régions seront considérées comme différentes dès lors qu'un des critères d'homogénéité ne sera plus vérifié.Dans le cadre de cette étude les champs concernés

(7)

par ces critères se ramènent à un seul, celui de la couleur, puisque les objets traités ici sont des images de synthèse pour lesquelles le caractère distinctif choisi est la couleur.

Les images de cartographie par exemple combinent texture et couleur.

La couleur est définie par ses composantes primaires Rouge, Vert , Bleu (cf format PICT). Chacune de ces composantes est représentée par un nombre binaire, la taille de ce nombre définissant la résolution colorimétrique. Suivant la constance des couleurs par région on pourra considérer que deux couleurs représentent deux entités distinctes dès lors qu'une des primaires n'a pas la même valeur dans les deux couleurs ceci quel que soit le degré d'écart, soit que ces couleurs sont suffisamment éloignées entre elles.

Quant aux traitements basés sur l'aspect contour, ils supposent que l'image aura été préalablement traitée de façon à ne laisser apparaître que les contours . Ces techniques appauvrissent l'information contenue dans l'image puisque la dimension couleur disparaît. Un axe d'étude serait de déterminer si la couleur est nécessaire à la détermination des surfaces. Dans l'affirmative la combinaison des approches région-contour serait à comparer avec une approche purement région.

Approche "région"

La segmentation d'une image couleur peut se ramener à une segmentation d'image en niveaux de gris. Le critère d'homogénéité ne porterait plus que sur une composante au lieu de trois (les couleurs primaires R,V,B). Cela serait justifié si le traitement en était simplifié, en particulier dans le cas où les couleurs présenteraient des nuances pour un même bâtiment

La couleur étant constante pour une région donnée les traitements à partir d'images en niveaux de gris ou en couleur seraient équivalents du point de vue de la complexité.

La segmentation fait appel aux notions de connexité et d'étiquetage. Connexité

La connexité suppose qu'une métrique a été choisie. Puisque l'élément atomique d'une image numérique est le pixel et que ces pixels sont disposés selon un quadrillage régulier deux distances sont intéressantes.

dl(P ,Q ) = |xP - xQ| + |yP - yQ| où x et y représentent des entiers

d2(P,Q) = max( |xP - x Q |, |yP - yQ| )

La première métrique d l permet de définir le voisinage direct d'un point P. Les points Q tels q u ed l(P ,Q ) <= 1 sont les voisins directs de P.

La métrique d2 inclut dans le voisinage immédiat les points diagonaux..

Nous considérerons l'ensemble des points connexes d'une surface grâce à cette dernière métrique.

(8)

Etiquetage des composantes connexes

L'algorithme proposé met en oeuvre un balayage séquentiel de l'image. Au cours de ce balayage qui s'effectue de haut en bas et de gauche à droite les points pris en compte sont le point courant et ses voisins déjà traités soit deux points pour la 4-connexité et 4 points pour la 8-connexité.

4-connexité: 8-connexité:

|__| P -> |__| P ->

Nous appellerons ces points antérieurs les prédécesseurs de P.

Le principe consiste à balayer l'image en affectant à chaque point une étiquette d'appartenance à une classe. Cette étiquette est fonction de l'information fournie par ses prédécesseurs.

L'image est traitée successivement suivant un parcours avant (indices de ligne et de colonne croissants) et un parcours arrière (indices de ligne et de colonne décroissants).

Chaque fois qu'une couleur différente est rencontrée une nouvelle étiquette lui est attribuée sous forme de nombre entier incrémenté de 1. On pourra fixer la valeur initiale des étiquettes à 1 par exemple.

La prise en compte de sections de même couleur appartenant aux objets détectés sur la ligne courante permet de limiter la génération d'étiquettes différentes lors du premier balayage de l'image.

Le premier traitement pour chacune des lignes i successives consiste pour chaque section allant de la colonne j l à la colonne j2 à

- prendre en compte les étiquettes présentes de la ligne i-1, des colonnes (j 1 à j2 pour la 4-cnnexité) des colonnes j l - 1 à j2 + 1 pour la 8-connexité,

- s'il n'y a pas d'étiquette, affecter tous les points de la section allant de la colonne j 1 à la colonne j 2 à une nouvelle étiquette,

- s'il y a plusieurs étiquettes correspondant à la couleur de la section traitée ALORS choisir l'étiquette de valeur la plus petite ET mettre à jour la table de correspondance des étiquettes.

L'étiquetage ayant été réalisé (à chaque pixel de l'image est attribué une étiquette), le calcul de surfaces s'effectue par parcours séquentiel de l'image après attribution d'un compteur à chacune des surfaces ou étiquettes, ce qui est équivalent,.

Chacun des pixels d'étiquette donnée qui est rencontré lors du balayage de l'image incrémente le compteur correspondant de 1.

Ce dernier balayage étant effectué la lecture des différents compteurs permet de connaître immédiatement la valeur de chacune des surfaces constituant l'image.

(9)

Approche "contour"

Le calcul des surfaces à partir des contours suppose une image traitée de telle sorte que les régions ou facettes sont représentées par leur(s) contour(s).

L'approche envisagée s'appuie sur la formule de GREEN-RIEMANN ramenant le calcul d'une surface à celui d'une intégrale suivant le contour de cette surface.

/ //

| Pdx + Qdy = || (dQ/dx - dP/dy) dxdy

/(C ) //(D )

- Une méthode possible de suivi de contour est celle des primitives angulaires. Elle a l'avantage d'allier à la simplicité (petit nombre de descripteurs de forme) la possibilité de compression d'image.

Les primitives angulaires constituent ces descripteurs. Elles représentent sous forme de code numérique les différentes orientations d'un angle droit dans le quadrillage que constituent les pixels d'un écran, ainsi que le déplacement rectiligne.

Soit la correspondance suivante:

______\

| / => 1

— => 2 A

I => 3

Les primitives angulaires représentent les angles pi/2, pi, 3pi/2.

Une courbe est représentée par un code formé par la succession de primitives angulaires. Ce code est appelé Shape Descriptor Chain (SDC).

(10)

Point de départ —>

Code du contour correspondant : SDC = 121133123112222211313132

Pour le calcul de la surface le suivi du contour s'effectue avec l'intérieur de la forme à sa droite. La surface est donnée par les formules suivantes:

// /

mpq = || xp yq dxdy = | xp yq+1 /(q+1) dxdy

// (D) /

où p = q = 0. Etat actuel :

L'algorithme ci-dessus développé a été implémenté sur PC DOS en langage C (listing fourni en annexe) et il est prévu de l'implanter ultérieurement sur station UNIX. Il est en cours de test sur des images de projet urbain

BIBLIOGRAPHIE

D. BALLARD, C. BROWN: Computer Vision 1982

M. CHAPRON: "A new chromatic edge detector used for color image segmentation

"Proc o f 1 lth IEEE Int Conf o f Pattern Récognition Den Haag vol III pp 311-314 1992 M. MILGRAM : "vision robotique" mars 87 COGNITIVA 87

G. KARAVIAS : Thèse: Codification et interprétation "intelligente" d'images dans le

cadre de la vision par ordinateur . Univ. PARIS V pp 53-54 fév 1994

Di ZENZO : "A note on the gradient of multi image " CVGIP vol 33 pp 116-125 1986

p a r t e n a i r e s s c i e n t i f i q u e s

Cette recherche s'appuie sur des relations déjà établies et développées avec :

(11)

Le Conservatoire National des Arts et Métiers

Groupe d'Analyse d'images Biomédicales 3, boulevard Pasteur 75015 PARIS

dont l'activité est centrée sur le développement et la mise en application des méthodes de traitement et d'analyse d'images, et plus particulièrement la mise au point de protocoles de traitement adaptés aux cas d'espèces.

L'Université Paris-Val de Marne

D E.A. d'Urbanisme Créteil avec lequel des échanges d'enseignants et d'étudiants sont déjà

développés, et pour lequel deux modules de CAO et d'images de synthèse sont mis à la disposition des étudiants par l'E.A.P.C..

Ces relations pédagogiques ont été développées avec le D.E.A. qui fournit dans un premier temps des sujets d'études et par la suite, dispose des moyens scientifiques d'évaluation de niveau universitaire.

(12)

III - QUALITE SUBJECTIVE DES IMAGES

ETAT ACTUEL DE LA QUESTION

1 - QUALITES D’UNE IMAGE

Une image est la représentation d’une scène de l’univers réel ou virtuel. Cette représentation s’effectue par le biais de multiples transformations qui réduisent et déforment les propriétés et les dimensions de cet univers .

Quels sont les critères qui définissent la qualité de cette représentation?

Peuvent ils se réduire à la densité de l’information présente dans l’image, ou bien

à l’absence de défauts visibles ou encore à la fidélité de l’image par rapport au message original?

Il n’est pas simple de donner une définition universelle. Une image est une représentation; quelle est sa fidélité à l’information qu’elle est supposée véhiculer?

Il apparait que l’appréciation de cette fidélité de représentation ne peut se réduire ni à un aspect purement technique (réalisme de l’image), ni à un aspect purement subjectif (dépendant des capacités psychophysiques de l’homme). La qualité d’une image se divise en :

Qualité objective : Elle concerne la réalisation matérielle de l’image et les outils utilisés

pour la générer (système télévisuel).

Qualité subjective'. Elle concerne l’être humain.

Evaluer la qualité objective d’une image, c’est mesurer, quantifier avec des outils mathématiques les transformations et détériorations d’une image introduites par les composantes d ’un système d ’acquisition et de transmission d ’images: systèmes optiques, systèmes de transmission, de réception de visualisation. Cela peut être, par exemple, la mesure de la perte d information dans l’image due à une technique de compression.

Evaluer la qualité subjective d’une image, c ’est mesurer la qualité de celle-ci du point de vue de 1’ observateur. La prise en compte du paramètre humain est nécessaire puisque les seuls critères techniques ne peuvent pas définir complètement cette qualité. Cette prise en compte s’effectue de diverses façons en fonction des objectifs. Par exemple, certaines méthodes permettent de quantifier l’aspect subjectif sans chercher à en connaître les raisons. A l’inverse, d’autres procédures permettront d ’évaluer les facteurs influençcant le jugement su b jectif.

Existe-t-il une mesure absolue de la qualité de l ’image?

Cette question n’est pas simple.. Nous pouvons qualifier certaines images de ‘'bonnes’ et d’autres de « mauvaises » lorsque nous évoquons leur qualité.

Mais ces jugements sont-ils relatifs ou absolus ? Sont-ils émis toujours en référence à d’autres images ou indépendamment de toute comparaison ? Notre jugement est-il toujours basé sur les mêmes critères ?

Inconsciemment nous aimerions bien pouvoir disposer de mesures absolues de qualité. Affirmer qu’on peut émettre un jugement absolu de la qualité visuelle d ’une image c’est sous-entendre que chaque image possède intrinsèquement tous les caractères nécessaires à déterminer sa qualité. Il nous faut alors trouver ces caractères, les modéliser et implémenter ce modèle.

A l’inverse dire que le jugement n’est que relatif nous oblige à définir une note de qualité qui fera toujours référence a d’autres images de qualité connues ? Mais dans ce cas lesquelles choisir ? Quelle échelle adopter, quelle valeur donner à nos jugements?

(13)

On cherche aujourd’hui de plus en plus à obtenir des mesures de qualité absolue. Pour parvenir à cet objectif, on intensifie les recherches selon deux directions:

On essaie de trouver les critères qui dans la nature de l’image peuvent influencer le jugement d’un être humain (contraste, luminance, résolution spatiale ...).

On tente de mieux comprendre le fonctionnement du système visuel afin de distinguer les éléments de celui-ci intervenant dans une évaluation de qualité. On essaie alors de trouver les lois de comportement de ces éléments et d ’en tirer des idées pour la construction des images. Ainsi de telles études ont-elles permis d ’affiner les techniques de compression / reconstruction d’images basées sur l’information réellement perçue par le système visuel.

Aujourd’hui on ne dispose pas d ’ une mesure absolue de la qualité globale d ’une image. Les méthodes d’évaluation de la qualité des images sont essentiellement basées sur des mesures relatives.

L’obtention de mesures quantitatives absolues est possible grâce aux études psychovisuelles et aux modélisations mathématiques auxquelles elles donnent lieu. Possédant le modèle de comportement d ’un observateur devant tel ou tel stimulus (cadre restreint et critères bien définis) on peut prévoir son jugement. Mais ceci est bien éloigné d ’une évaluation de la qualité visuelle globale d ’une image naturelle qui reste encore du domaine du non modélisable et foncièrement dépendante du contexte socioculturel des observateurs . Cette qualité globale est alors prise en compte par des mesures qualitatives relatives dans lesquelles on ne cherche pas à distinguer les critères de sélection.

Il apparaît clairement que les deux approches sont nécessaires à la maîtrise du processus d’évaluation mais il subsiste entre elles de tropt grandes différences pour proposer une démarche unique complète, cohérente et fiable.

2 - METHODES D ’EVALUATION

2.1. Introduction

Diverses procédures pour mener à bien ces mesures sont envisageables. Il est possible de concevoir la notion de qualité sous les angles absolu et relatif. Toutefois la méthode qui privilégie l’observateur humain est celle qui est actuellement retenue par les instances de normalisation internationale.

Cette méthodologie est aujourd'hui et sans doute pour longtemps encore - préférée aux outils mathématiques encore insuffisants qui intègrent une modélisation du système visuel.

Nous présentons lces méthodes en tentant de définir leur domaine de validité. Ceci nous permettra entre autre, de mettre en évidence la place et le rôle des outils d’évaluation automatiques basés sur des modélisations mathématiques.

Les deux approches ne sont pas antagonistes. Elles se complètent: Le rôle de l’évaluateur humain est prépondérant lorsqu'il faut évaluer la qualité finale d'un système et de ses images L’utilisation de modèles mathématiques permettent de corroborer les résultats et de réaliser plus souplement des simulations d’évaluation dans le but d ’améliorer les systèmes de codage.

(14)

Cette volonté de normaliser ces méthodes s’explique par l'importance des enjeux liés à certains types d'images (TV par exemple). La normalisation permet de réaliser les nécessaires confrontations de résultats entre les laboratoires travaillant dans ce domaine (Europe, USA, Japon...).

Au sein de cette même approche, il existe des "variantes" développées par certains laboratoires nationaux. Elles ont pratiquement en commun l'objectif d'optimiser les procédures existantes en les rendant moins lourdes, plus fiables et améliorant l’analyse des résultats.

Ceci est le plus souvent fait à l'aide de l'outil informatique par l’introduction d ’algorithmes prédictifs de qualité.

L'ensemble des mesures de seuils de détection a pour but de mieux cerner le

fonctionnement du système visuel. Par ces mesures on peut caractériser certains de ces éléments et étudier leur importance lors de l'appréciation de la qualité d'une image par un observateur.La mesure consiste à présenter divers stimuli à des observateurs.La connaissance du seuil à partir duquel le stimuli est détecté ou disparaît pour l'observateur fournit une information sur les performances du système visuel et sur le niveau de stimuli détectable .

Trois méthodes sont principalement utilisées actuellement pour effectuer ces mesures . a) la méthode des limites:

Elle est basée sur deux évaluations consécutives du seuil. La première évaluation correspond au seuil descendant, le stimulus est présenté avec une valeur allant en diminuant jusqu'à ce que l'observateur décide d'avoir atteint le seuil de non visibilité

La seconde correspond au seuil montant : le stimulus est présenté avec une valeur allant en augmentant jusqu'à ce que l'observateur puisse le détecter . Le seuil définitif est alors la moyenne des deux seuils descendant et m o n tan t.

b) La méthode des ajustements

Peut être qualifiée, comme la précédente, de naturelle c'est à dire peu complexe et dont le résultat dépend directement de l'observateur. Ici on présente un stimulus et on donne à l'observateur la possibilité d'agir sur le paramètre qui module sa visibilité

C'est donc lui qui va fixer son propre seuil de visibilité. Ceci permet non seulement d'avoir une mesure fine mais offre l'avantage de pouvoir égaliser le niveau de stimulus avec ses voisins

2.2. Evaluation de la qualité p a r I 'homme : mesure des seuils psychovisuels

c) La méthode du choix forcé : Radicalement différente des 2 premières, la méthode dite du choix forcé permet de contrôler le critère de décision de l'observateur . Dans cette méthode, on présente à l'observateur une liste d'images dont une seule possède le stimulus à un niveau donné. Puis on force l'observateur à choisir une image parmi cette liste qui, d'après lui, contient le stimulus .

Si aucune des images ne possède de stimulus visible, le choix de l'observateur est aléatoire et la probabilité d'obtenir une réponse correcte est de 0.25 .

A l'inverse, si le stimulus est très visible la probabilité de bonne réponse doit être 1

Le seuil de détectabilité est défini indirectement comme étant le niveau de stimulus pour lequel la probabilité d'avoir une bonne réponse est situé au milieu de l'intervalle

[0 25 - 1] soit 0.625

(15)

Malgré sa plus grande longueur, cette méthode est de plus en plus considérée comme une référence en matière de mesure de seuils psychophysiques .

d ) Avantages et inconvénients de ces 3 méthodes :

De telles mesures permettent d'obtenir des indications sur le fonctionnement du système visuel avec une assez bonne précision . Ces méthodes présentent l’intérêt soit d'être relativement naturelles et rapides -cas de la méthode des limites et de celle des ajustements- soit celui d'être stable dans les résultats obtenus -cas de la méthode du choix forcé et choix forcé adaptatif- . Ces 2 critères sont essentiels lorsque l'on définit un principe de mesure .Malheureusement aucune de ces méthodes ne combine ces 2 avantages . La méthode des limites et celle des ajustements, assez simples et rapides à mettre en place, possèdent le défaut d'être peu stables . A l'opposé la méthode du choix forcé est stable mais très lourde à mettre en place. Le choix se porte alors de plus en plus vers la méthode du choix forcé adaptatif.

L'extrême complexité des stimulis visuels réels (intensité, paramètres spatiaux, temporels) et la combinaison des effets de ceux-ci interdisent pour l'instant la modélisation quantitative globale de ceux ci .

Cependant la caractérisation du comportement de certains éléments du système visuel ne suffisent pas à déterminer complètement l'évaluation de la qualité d'une image et obtenir un critère global de sa qualité visuelle . C'est pour cette raison que l'on a recours aux évaluations dites "subjectives" des images décrites ci dessous.

e) Evaluation de la qualité subjective des images .

Les mesures de seuils psychovisuels et les mesures de qualité des appareils ne suffisent pas à définir complètement la qualité visuelle des images.

Pour remédier à cette carence on réalise des évaluations de la qualité des images par des observateurs. C ’est le 2ème volet de la métrologie psychophysique.

Avec ces tests, on évalue la qualité globale d’un algorithme ou d ’un système par les images qui transitent par ce système ou soumises à cet algorithme. On tente de quantifier l’appréciation de l’observateur sans chercher à mettre en évidence les critères subjectifs de ce jugement de la qualité.

Cette évaluation peut s’effectuer selon deux directions:

Classer des systèmes selon leur qualité globale ou apprécier la gène causée par une dégradation sur l’image. Que l’on veuille classer des systèmes ou apprécier la gène causée par une dégradation, la constitution du banc d ’essai ne diffère globalement que par la méthode de traduction de l’appréciation visuelle de l’observateur .

On utilise une bibliothèque de scènes permettant aux laboratoires de travailler avec des stimuli normalisés.

2-3. Evaluation de la qualité p ar des modèles mathématiques

Sont présentés ici les outils d ’évaluation de qualité d ’images basés sur des modélisations mathématiques en regardant les bases théoriques sur lesquelles ils reposent ainsi que leur domaine de validité. Si cela est possible, nous tenterons de placer ces outils par rapport aux procédures classiques décrites précédemment (dans quel contexte peut-on les utiliser, de quelle méthodes se rapprochent-ils, peut-on comparer les résultats ? ...). Enfin, nous essaierons

(16)

d’évaluer ces modèles en mettant en relief leurs points forts et leur faiblesses en regard des résultats obtenus par les procédures classiques

a) Une formulation mathématique pour la qualité subjective d ’une image .

Disposer d ’une formule, mathématique ou d’un algorithme qui permet d ’évaluer globalement la qualité d’une image est un but difficile à atteindre. Le postulat de départ est que la fidélité de représentation d ’une scène originale détermine la qualité de l’image.

Le problème de l’évaluation de la qualité globale de cette image n’est alors plus de caractériser et de quantifier ces distorsions mathématiques mais de les analyser à travers le prisme psychophysiologique..

De fait, on conçoit facilement que toutes les formules de qualité d ’image qui se limitent à quantifier des distorsions mathématiques sans intégrer des paramètres psychophysiques soient vouées à l’échec. Mais intégrer le comportement de l’homme dans les formulations pose un difficile problème. Quels paramètres utiliser ? Quelles fonctions faut-il modéliser ? comment et à quel niveau peut-on les intégrer?

La plupart de ces questions restent, à l’heure actuelle en suspens. La démarche adoptée par les chercheurs semble être la suivante: Tentons de connaître toujours mieux le fonctionnement humain et essayons de voir quelles sont les fonctions et critères qui entrent en jeu lorsqu’il évalue la qualité d ’une image et tentons les modéliser en les intégrant dans les formules mathématiques d’évaluation.

b) Approches orientée image ou système visuel humain

Il existe globalement deux approches distinctes dans la littérature pour construire un modèle : l ‘approche qualifiée d’orientée Image et l’approche orientée Système Visuel Humain (S.V.H.).

V approche orientée Image consiste à déterminer ce qui dans une image, peut affecter sa

qualité : les dégradations. On étudie alors la nature l’importance et le rôle de celles-ci dans le processus d’évaluation d’une image par un homme . Plusieurs modèles sont alors définis en fonction de la nature de la dégradation étudiée.

Pour évaluer la qualité d ’une image on recense les types de dégradations qu’elle contient et on applique les modèles correspondants. Finalement, la qualité globale de l’image est calculée comme étant la qualité de l’image sans dégradation originale (physiquement idéale) à laquelle on soustrait les effets combinés des différentes dégradations modélisées.

Les modèles orientés S.V.H sont plus ambitieux : ils ont pour objectifs de modéliser le comportement global du système visuel humain. On tente alors de trouver une formule qui approximera au mieux l’évaluation subjective de la quantité globale d’une image par un homme Ces modèles se basent sur des données psychophysiques et sur des données physiologiques concernant la structure et le fonctionnement du système visuel . Si cette approche peut paraître plus séduisante que la première (on étudie le problème dans sa globalité à tous les

niveaux ) elle se heurte à 2 difficultés majeures: l’extrême difficulté de modéliser parfaitement, sans paramètre parasite, le fonctionnement du système visuel humain et la faiblesse des connaissances sur celui-ci

Avant de présenter les modèles orientés Image et S.V.H. nous présentons le modèle rudimentaire R.M.S.E. (Root Mean Square Error), basé uniquement sur des critères

(17)

mathématiques et n’intégrant aucun paramètre psychophysiologique qui avait d ’abord été étudié.

c) Modèles RMSE

La mesure obtenue avec ce modèle est relative. Elle permet de comparer la qualité d ’une image dégradée par rapport à l’image originale et mesure globalement l’effet des dégradations spatiales et de celles qui affectent les niveaux de luminance de l’image.

La mesure RMSE (notée Ep où p est le degré de l’erreur) est donnée par la formule suivante :

Ep = (1/m . Z e ip )1/p

où m est le nombre de pixels de l’image et ei =x;-yj avec x; la valeur du pixel dans l’image originale et y; la valeur du pixel dans l’image dégradée .

Le paramètre p permet de définir la forme ou le degré de l’erreur mesuré où p=l définit l’erreur absolue .

Le choix d’une technique de régression entre les mesures subjectives et les mesures par R.M.S.E. basée sur la fonction quadratique des moindres carrés est un compromis. La méthode R.M.S.E. ne donne qu’une mesure très générale et assez mauvaise de la qualité d’une image Cette mesure est relativement performante lorsqu’il s’agit de caractériser des dégradations spatiales de type bruit aléatoire réparties uniformément sur toute l’image, mais elle n’est pas adaptée pour rendre compte d’effets de dégradations plus complexes ou locales.

Quoiqu’il en soit, il apparaît clairement que la méthode R.M.S.E. choisie comme estimateur de la qualité d ’une image est loin d’être satisfaisante. La nature des dégradations n’est pas considérée (colorimétrique. spatiale , temporelle, lumineuse) ni leur forme (surface, spectre) et leur possibles effets combinés. L ’insuffisance d’un tel modèle a donc poussé les chercheurs à développer des outils plus complexes que nous détaillons ci dessous .

d) Modèles orientés image . Deux exemples seront indiqués.

L’idée directrice de l’ensemble de ces modèles est que le système visuel humain effectue non pas une analyse globale de l’image mais plusieurs analyses locales.

La qualité subjective globale de l’image peut donc être considérée comme une somme des qualités partielles de celle-ci. Les parties de l’image sont déterminées par des configurations locales critiques où se produit un seul type de dégradation. On peut donc évaluer la qualité partielle de chacune de ces configurations critiques et sommer l’ensemble de ces qualités partielles pour obtenir la qualité globale.

Le modèle développé par S.D.DORAN et E.S.WOLF (U S A.) combine les résultats de la modélisation de dégradations et des mesures subjectives.

Le modèle développé par M.MIYAHARA, K.KOTANI et V.R..ALGAZI (Japon) se limite à évaluer la qualité d ’images fixes et en noir et blanc. 11 cherche à combiner une appréciation « perceptuelle » des défauts avec la qualité des images indiquée par un observateur et mise sous la forme d’une combinaison linéaire de dégradations élémentaires.

(18)

Dans ces modèles, la qualité globale est éclatée en plusieurs évaluations partielles, ce qui est une limite . Par contre, ils permettent de corréler les résultats avec les méthodes d ’évaluation subjective.

e) Modèles orientés S.V.H.

L’idée directrice est ici d’évaluer la qualité d’une image, non par ses dégradations mais par celui qui l’observe. Il est donc nécessaire de disposer d ’une modélisation du système visuel humain. Partant des travaux de GRANGER et CUPERY qui proposent l’existence d ’une relation linéaire (exprimée en JND, Just Noticeable Différence) entre la qualité subjective d ’une image, P.G.BARTEN, en 1987, définit une lisibilité de l’information où il incorpore un modèle de système visuel humain destiné à mesurer sa capacité de distinguer les formes et les détails (SQRI SQuare Root Intégral). Une fonction de sensibilité au contraste (FSC) est utilisée, fonction des fréquences spatiales. Cette FSC est obtenue en présentant à l’observateur des mires plus ou moins lumineuses et informe sur les capacités de vision des formes et détails. La FSC est ensuite intégrée à la M TFA (Modulation Treshold Function Area) qui détermine un seuil de détection de perception visuelle.

Cette méthode de seuil suppose un comportement linéaire de l’oeil, ce qui n ’est pas le cas. C’est pourquoi, CARLSON et COHEN, par exemple, proposent une formulation de lisibilité de l’information basée sur 7 JND mesurées sur 7 canaux de fréquences spatiales différentes et qui sont sommées ensuite. D ’autres développements ont été proposés depuis.

Les modèles mathématiques pour mesurer la qualité subjective des images sont en cours de développement et n ’ont pas encore atteint leur but, qu’ils soient orientés image ou SVH. Ils permettent toutefois de tester l’effet d ’un facteur de qualité à défaut de l’ensemble de ceux-ci. Les méthodes subjectives basées sur l’observation humaine et son exploitation statistique sont encore les plus utilisées et commencent à être assez bien corrélées avec les modèles mathématiques.

4 - Critères de qualité d ’une image.

Les critères de qualité d’une image ne peuvent être indépendants de l’utilisation de l’image. Par exemple, des images destinées à la reconnaissance et à l’examen de chromosomes doivent avant tout transmettre de l’information et permettre la détection de celle-ci. Par contre une image TV sera appréciée pour son réalisme.

Citons quelques exemples de ces critères :

Taille de l'image ou de l ’écran, la qualité augmente avec la taille et les proportions (rapport

largeur/hauteur = 1,6)

Distance de visualisation : la meilleure distance de visualisation dépend entre autres du

champs rétinien, des niveaux de détail souhaités (fréquence spatiale) ou de la perspective à restituer. Des études américaines proposent environ 3H.

Contenu de l ’image : le contenu de l’image est considéré comme ayant une influence

moyennement critique sur l’appréciation de qualité qui devrait en être indépendante

Luminance : c ’est en fait la perception de la luminance, la brillance qui est considérée

importante, sans oublier l’effet de la luminance ambiante

Contraste : il faut distinguer deux définitions du contraste également importantes, le contraste

de luminance et le contraste chromatique.

Quantification du signal : a un effet primordial sur l’appréciation qualité, notamment en terme

de réalisme, d’où importance des convertisseurs A/N

(19)

Résolution spatiale et temporelle : la première est nécessaire pour le rendu des mouvements et

la stabilité de Timage; la seconde est liée à l’acuité visuelle, de l’ordre de la minute d ’arc, mais qui peut atteindre 10 secondes d’arc pour des ruptures de contour ou des transitions de plages lumineuses.

Finesse : qualité la plus proche de l’appréciation donnée par l’observateur; elle est fonction du

contraste, de la luminosité et de la résolution.

Fidélité des couleurs : critère essentiel de qualité

Cette liste n’est pas exhaustive.

BIBLOGRAPHIE

B.GIROD Psychovisual aspects o f image communication Signal processing 28 1992 p 239-251

S.D.VORAN and S.WOLF Objective quality assesment o f digitally transmitted video

I. E.E.E. conférence on communications, computers and signal processing May 91 p 477-482 M.MIYARA, K.KOTANI, V.R.ALGAZI Objective picture quality scale fo r image coding SID 92 p 859-861

J. O.LIMB Distorsion cri ter ia o fth e human viewer

IEEE Transaction on Systems,man, and cybernetics vol SMC 9n°12 dec 1979 p 778-793 P.G. J. BARTEN The square root intégral A new metric to describe the effects o f varions

parameters on perceived image quality

SPIE vol 1077, Human vision, Visual procesing and digital display 1991 p 2-15

J.A SAGHIRI, P.S.CHATHAMM, A.HABIBI Image quality measure based on human visual

System model

(20)

IV - RESULTATS

1 - PRETRAITEMENT ET FILTRAGE

On appelle opérateur élémentaire de traitement d ’images une opération fondamentale (O) appliquée une fois à une ou plusieurs images. En général, un opérateur reçoit comme argument une image I et en rend une autre, notée 0(1). Le changement apporté par un opérateur à une image peut être calculé par la différence 1-0(1).

On appelle traitement d ’une image l’application d’un enchaînement d’opérateurs élémentaires à cette image. L ’enchaînement spécifique à chaque opérateur vise à renforcer certaines caractéristiques d ’une image et/ou en atténuer d ’autres.

On appelle prétraitement d ’une image tout traitement sur cette image visant surtout à améliorer sa qualité. Plus précisément, ces types de traitements ont pour but de réduire le bruit et/ou les déformations apportés à une image par le module de numérisation.

Il n‘ existe pas de classification générale des opérateurs élémentaires. On peut difficilement les situer dans des classes non-disjointes.

On distingue ainsi des filtrages linéaires, des filtrages non-linéaires, contours, des opérateurs morphologiques, des opérateurs entre images géométriques, de manipulation d'histogramme, de binarisation, de manipulation de compression, etc.

Le prétraitement d'images est guidé p a r l'expertise : Malgré une abondante bibliographie, il

n'existe pas encore un traitement d'images universelles. Le choix des opérateurs et leur enchaînement est ainsi dépendant des connaissances propres de chaque utilisateur. Ce qui manque pour formaliser le processus de la construction d'un traitement, c'est une méthode théorique robuste à appliquer pour le choix et pour l'enchaînement des opérateurs.

L’exemple cité asocie un prétraitement d’amélioration des images à un filtrage destiné à détecter les contours au moyen des techniques de filtrage et de dérivées premières ou secondes mises au point par R.DERICHE. Le nombre d ’opérations nécessitées est réduits par l’emploi d’un filtre passe-bas récursif., utilisant un paramétré a , coefficient de lissage.

Cet algorirhme est appliqué à une photographie de mauvaise qualité d’une vue intérieure de bureau.

(21)
(22)
(23)

2 - S E G M E N T A T I O N E T C A L C U L D E S U R F A C E S

L’algorithme décrit dans la partie 2 et écrit en C pour MS-DOS a été expérimenté sur des images de synthèse réalisées au L.A.M.I. et concernant le réaménagement du fort

d’Aubervilliers. Ces images ont été calulées sur Silicon Graphics avec le logiciel IKO.

L’essai présenté a été effectué de manière interactive où l’on désigne en pointant à la souris les zones intéressantes.

Les résultats sont automatiquement écrits dans un fichier d’extension DAT

La figure suivante montre une image noir et blanc de l’image qui est en fait obtenue en 16 millions de couleurs.

Le fichier correspondant .DAT est ensuite reproduit sur la figure qui suit, le premier nombre qui suit le mot aire indique la couleur.

(24)

Sortie Postscript de l’image du plan masse du Fort d’Aubervilliers

(25)

R E S U L T A T S D O N N ES PAR L E PRO G RAM M E D E C A L C U L D E S S U R F A C E S

Nombre max d'etiquettes pour une couleur donnée - 96 surface de I1 aire[0][14] = 42

ab scisse (X) du premier point = 384 ordonnée (Y ) du premier point =182

surface de I1 aire[1][7] = 15 ab scisse (X) du premier point = 50 ordonnée (Y) du premier point = 19

surface de I1 aire[2][1] = 163 ab scisse (X) du premier point = 351

ordonnée (Y) du premier point = 14 surface de I1 aire[2][15] = 502 ab scisse (X) du premier point =371

ordonnée (Y ) du premier point = 84 surface de I’ aire[2][16] = 247 ab scisse (X) du premier point = 78 ordonnée (Y ) du premier point = 38

surface de I' aire[2][17] = 209 ab scisse (X) du premier point = 54 ordonnée (Y ) du premier point = 38

surface de I' aire[2][29] = 503 ab scisse (X) du premier point = 366

ordonnée (Y) du premier point = 72 surface de I' aire[2][51] = 20 ab scisse (X) du premier point = 55 ordonnée (Y) du premier point = 66

surface de I' aire[2][74] = 20 ab scisse (X) du premier point = 55 ordonnée (Y) du premier point = 90

surface de I' aire[2][77] = 20 ab scisse (X) du premier point = 55 ordonnée (Y ) du premier point = 98

(26)

V - CONCLUSION

Le problème est de juxtaposer et d'harmoniser des modèles descriptifs, de fonctionnement et de communication du projet d’architecture ou d’urbanisme. Il semble établi actuellement, que l'utilisation appropriée et optimisée de systèmes de représentation différents, mais compatibles et chaînés entre eux, peut résoudre ces problèmes de ruptures se produisant au cours du processus. L'application combinée d'analyse et de traitement d'images avec des expériences de simulation doit permettre de justifier cette hypothèse et d'en préciser les limites. Il est connu que malgré leur manque de souplesse dans leur réalisation pratique, les traitements analogique d ’image présentent un grand intérêt tant sur le plan théorique que sur celui de la finesse de l'analyse engendrée. De plus ils ne sont pas limités par les effets d'échantillonnage et de quantification du signal des méthodes numériques. Par contre, ils ne possèdent pas la puissance de méthodes numériques, telles, par exemple, que la morphologie mathématique. Il a donc paru necessaire, dans une première étape d ’appliquer ces moyens aux images d’architecture.

Les avantages et les inconvénients de ces deux procédés ont conduit ces dernières années au développement de techniques dites hybrides, notamment depuis l'apparition de processeurs optiques mieux maîtrisés.

Représentation, simulation et évaluation: Les moyens de représentation, encore relativement nouveaux pour les architectes sont la CAO et l'image de synthèse; leur adaptation au projet d'architecture et d'urbanisme progresse. L'expérimentation globale proposée consiste à confronter aux moyens informatiques le travail de concepteurs ayant ou non une expérience en conception traditionnelle. Les méthodes qu'ils emploieront au cours de ces mises en situation seront enregistrées et étudiées. Leurs productions graphiques, CAO et images de synthèse, seront analysées. Il est nécessaire de disposer de tests suffisamment nombreux pour pouvoir dégager des conclusions.

Dans un premier temps, une expérimentation a été menée pour appliquer l’analyse et le traitement d ’images à l’architecture. Parallèlement, une étude bibliographique de l’état des connaissances en matière de mesure et d ’évaluation de la qualité, objective ou subjective, des •mages numériques.a été effectuée.

(27)

/*******»«*«» programme : SU R FIM A C **«»»*****»***»»»***********************/ /*

/* Fonction : calcul de surfaces d'une image */

/* */

I* Les paramétrés sont lus dans le fichier FILE.DON : nom du fichier */ /* image, dimensions de l'image. Le fichier source est le fichier decom- */

I* presse correspondant (fichier dont l'extension est égalé a ".PAL"). */

/********************************************♦******************************/ #include <stdio.h> #include <stdlib.h> #include <conio.h> # indu de <dos.h> “include <dir.h> tfinclude <bios.h> #include <string.h> #defme C R T A T T R 0x3c0 #defme CRT_STATUS 0x3da #defme CRT_ADR 0x3d4 Sdefine INFINI OxFFFF

#define N_ETIQU 5 1 2 / * nombre d’etiquettes par couleur limite a 256 */ #define N E T I Q R E S 80 /* nombre d'etiquettes maximal par couleur */ #define VRAI 1 #defme FAUX 0 Sdefme AVANT 1 /tdefine ON 1 #define OFF 0 #define ARRIERE 0 #define PAS 8 #define NCOL_ECRAN 320 #defme NLIGN_ECRAN 200

#defme HOME 0x47 /* code ASCII etendu */ «define CURSOR UP 0x48 /* " */ tfdefine CURSOR LEFT 0x4b '* " */ #defme CURSOR_RIGHT 0x4d /* " */ tfdefme END 0 x 4 f * " */ tidefine CURSOR DOWN 0x50 '* " */ tfdefine ESC 1 * code louche ESCAPE*/

Sdefine VGA_256 0x0013

#define NCOLORS 21 '* nombre max (plus une) de couleurs distinguables */ «define NPIXELS 30 '* nombre max de pixels retenus pour la sélection

des surfaces a mesurer */ typedef unsigned char bool:

typedef unsigned char uc:

typedef unsigned int u; typedef unsigned long int lu; typedef unsigned int far uf; struct etiquet

{

u color; /* indice couleur */ u label; /* étiquette associée a color */ >;

struct typixel {

u X; /* numéro de colonne */ u Y; /* numéro de ligne */ uc val; /* indice de la palette couleur associe au pixel */ bool select; /* drapeau indiquant si le pixel a ete retenu pour la

sélection des surfaces a mesurer */

struct typixel pixel[NPIXELS]; /* tableau correspondant aux pixels qui auront et! saisis en vue du calcul des surfaces. */ struct airepix { lu surf; ’intX; int Y; };

FILE *f_in; /* flux sur le fichier paramétrés */ FILE *f_src; /* désigné le fichier image source */

FILE *f_templ; /* fichier temporaire sur disque virtuel -> stockage */ /* des étiquettes pixel par pixel */

FILE *f_temp2; FILE *f_out; char *noml, *nom2; char *nomfic; chai * nomsrc; char *sufflx_src; char *suffïx out; float echelle; uc * palette;

char * ptr Jm a; /* pointeur sur le buffer ligne destine a l'image */ cptlabel[21 ]; /* compteur d'etiquettes par couleur */

u nrow, ncol,

nclics = 0; /* nombre de touches sur le bouton gauche de la /* souris */

uc ncouleurs = 0; /* nombre de couleurs differentes a traiter */ u couleur[NCOLORS]; /* table donnant les couleurs de reference des */

(28)

/* surfaces a mesurer */ uc table[21 ] [N ETIQ U ];/* table de correspondance des indices associes */

/* aux differentes couleurs, 20 couleurs maxi */

struct airepix aire[20][N_ETIQ_RES];/‘ tableau regroupant les valeurs des differentes*/ /* surfaces en nombres de pixels; les étiquettes */

/* obtenues a la fin du traitement sont supposées */

/* ne pas dépasser N_ETIQ_RES; */

struct etiquet ligne l [512],/* buffer mémorisant la ligne precedente */

/* du parcours de l'image */

ligne_0[512];/* buffer mémorisant la ligne courante */ lu screentable[200]; /* table contenant les offsets correspondant a

l’adressage des débuts de ligne image */ void strmodiffchar *mot, char *suffix);

void duplichaine(char *res, char *src); void suffixsuppress(char *res, char *src); void init();

void deinit(); void init_table(); void init_fenetre();

v o id in it_ lig n ();

void identifcolorfu pixel, int j. uc nbcolors); void erreurfchar *s);

u minimum(u colonne, u couleur); void copie!igne();

void parcours_av(int nrow, int ncol); void parcours_av2(int nrow, int ncol); void actualis_tabl(uc ncolors);

uc egalite_labels_pred(u colonne, u couleur); /*uc fix_label(uc couleur, u étiquette); */

void fin(); void mesuresurfQ.

void affich_ima(FILE *f. uc ‘ pjrna, u largeur, u profondeur); void setvgapalfuc *p);

void affich_ligne(FlLE *f,uc *p, u x, u y, u ligne, u taille); void saisie_param_surf(FILE *f, uc *p_ima, u xs, u ys, u x , u y), char * far_ptr(char *p, lu m).

int getkey();

void InitialiserSourisfint *ok. int *ntouches); void InitPos();

void SourisOn(): void SourisOfff):

void GelSourisXY(inl *col. int *ro\v. int ‘ touchg. tnt *touchd): void EspaceSouris():

void test_exist_f(char *nom):

#

m

SURFIM4.C Extraction des paramétrés Page 2

void test_f_absent(char *nom); void affichresO; u maxi(); ******************* ***********/ /** programme principal ***********/ /** ******************* ***********/ int main(void) { int ij; uc octet; u var, pix; char ‘ nombre;

nomfic = (char *) malloc(20*sizeof(char)); if ( ( f in = fopen("FILE.DON", "rt"))==NULL)

erreur("impossible d'ouvrir le fichier FILE.DON\n"); fscanf(f_in,"%s", nomfic);

printf("nom du fichier : %s\n",nomfic);

suffixsuppress(noml, nomfic); / ‘ supprime l'extension .xx d'un */ /* nom de fichier */ fscanf(f_in, "%s",nombre);

printff "nombre de colonnes : %s\n",nombre); ncol = atoi(nombre);

fscanfff_in, "%s",nombre);

printf("nombre de lignes : %s\n",nombre); nrow = atoi(nombre);

fclose(fin);

/» i f ( ( f temp 1 = fopen("D:\\lMALABl.DON". "w+b"))==NULL) erreur("impossible d'ouwir le fichier D/'MM.AL.ABl.DONtn");

*/ f

if ( (f templ = fopen("IMALABl.DON". ”w+b"))==NULL) erreur("impossible d’ou\Tir le fichier IM AL AB 1 .DON'n");

nomsrc = (char *) malloc(20*sizeof(char)): nom2 = (char *) malloc(20*sizeofichar));

suflix src = (char *) malloc(20‘ sizeof(char)); su fftxsrc = ".pal";

(29)

duplichaine(nomsrc, noml); duplichaine(nom2, noml); strmodiffnomsrc, suffix_src); strmodif(nom2, su ffixout); if ( (f_src = fopen(nomsrc, "rb"))==NULL) {

printffimpossible d'ouvrir le fichier source %s\n",nomsrc); exit(l);

>

if ( ( f out = fopen(nom2, "\vt"))==NULL) {

printf("impossible d'ou\Tir le fichier résultat %s\n",nom2); exit(l);

}

if ((palette = (uc *) malloc(768*sizeof(uc)))==NULL) erreur("impossible d'allouer le buffer palette"); if ((ptr_ima = (char *) malloc((long)ncol*sizeof(uc)))==NULL)

erreur("impossibIe d'allouer le buffer image"); test_f_absent(nomsrc);

fread(palette, sizeof(uc),768L, f src);

init(); /* initialisation du mode graphique */

init_table();

afïich_ima(f_src, ptr ima, ncol, nrow); if (ncouleurs > 20)

{ deinit();

erreur("Nombre excessif de surfaces a calculerW); } init fenetre(): parcoursav(nrow.ncol): actualistabl(ncouleurs); init_lign(): rewind(ftempl): /* oooooooo */ /* oooooooo */ /* oooooooo */ /* oooooooo */ /* oooooooo */ /* oooooooo */ /* oooooooo */ I* oooooooo */

deinit(); /* passage du mode graphique au mode texte */

/* if ( (f_temp2 = fopen("D:\\IMALAB2.DON", "w+b"))— NULL) erreur("impossible d'ouvrir le fichier D:\\IMALAB2.DON\n"); */

if ( (f_temp2 = fopen(''IMALAB2.DON", "w+b"))==NULL) erreur("impossible d’ouvrir le fichier IMALAB2.DONW'); parcours_av2(nrow,ncol); rewind(f_temp2); /* printf("\n"); printf(" *****************************************\n"); printf(" *

printf{" * Donnez l'echelle en m/pixel sous *\n"); printf(" * forme d'un nombre décimal. *\n"); printf{" *

printf(" * Exemple: pour l’echelle 0,5 métrés *\n"): printf(" * par pixel tapez: 0.5 ou 0,5 *\n"); printf(" * suivi de RETURN. *\n"); printf(" * printf(" *****************************************\n")-printf("\n"); scanf("%e, &echelle); */ mesure_surf(); affich_res(); fin(); retum(O); } /********«******»* procedures et fonctions *»****»**»»**»***»/ \'oid strmodif(char *mot, char *suffix)

{ char *str; str = mot; while (*mot != '\0') { mot++; > str = suflfix; while ((*mot = *str) != '\0') { *\n" *\n " * \n "

(30)

str++; }

void duplichaine(char *res, char *src) {

while((*res++ = *src++)!= M)1);

>

void sufFixsuppress(char *res, char *src) { %vhile(*src != *res++ = *src++; *res = r\0'; } /*

************************************************************* */

/««** Initialisation des buffers ligne courante et ligne precedente ***/

j, ************************************************************* */

void init_fenetre() {

int i;

for (i = 0; i< 5 12; i++) {

ligne_l[i].color = 0; l ig n e lj i] . label = 0; ligne_0[i].color = 0; lign eO [i] .label = 0; } } /* **************** */ /*** Message d'erreur ***/ ./* **************** * void erreur(char *s) { puts(s); fin(); exit(l): > void fm() { fclose(ftem p l); fclose(f_temp2); fclose(f out);

SURFIM4.C Extraction des paramétrés Page 4

free(nomsrc); free(nom2); free(suffix_src); free(suffix_out); free(palette); free(ptrima); }

void init() /* mise en mode graphique */ {

union REGS r; r.x.ax = VGAJ256; int86(0xl0,&r,&r); }

void deinit() /* mise en mode texte *1

{ union REGS r; r.x.ax = 0x0003; int86(0xl0,&r,&r); } /* ************************************ */

/*** Initialisation de plusieurs tableaux ***/

j* ************************************ */

void init_table() {

int i j ;

for (i = 0; i<=20; i++) {

for (.i = 0; j<N_ETIQU; j++ ) tablefi] [j] = (uc)j; } for (i ~ 0; i < NPIXELS; 11 * ) { pixel[i].X = 0: pixel[i].Y = 0: pixel[i].val = INFINI; pixel[i].select = FAUX; }

for (i = 0; i < NCOLORS; i++) couleurfi] = INFINI;

for (i = 0. i < NL1GN_ECR.AN; i++) /* offsets donnant les débuts de lign screentableji] = (lu )i* (lu)NCOL ECRAN;

(31)

/* ******************************************************************** */

/** Initialisation du buffer de ligne precedente avec une valeur infinie **/

/* ******************************************************************** */ void init_lign()

{ int i;

for (i = 0; i< 5 12; i++) lig n e ljij.c o lo r = INFINI; lig n e ljij.la b e l = 0; >

void parcours_av(int nrow, int ncol) { int i, j, k, 1; uc pix; u var; u m axlabel; char * buf; for (i = 0; i <= 20; i++) cptlabel[i] = 0; for ( i = 0; i<nro\v: i++)

{

/*** traitement du premier pixel de la ligne courante »»**/ j = 0;

fread(&pix, 1,1 ,f_src);

identifcolor(pixj,ncouleurs); /* identification de la couleur

d'un pixel et affectation du code couleur dans le buffer ligne courante *

if (ligne 0(j].color) 1

if (ligne OJjJ.color == ligne_l [jj.color) ligne 0(jj.label = lign eljj],lab el: else

{

if (ligne 0[j].color == ligne 1 [j+1 j.color) ligne OJjJ.label = ligne ljj +IJ.label: else

1

cptlabel[ligne_0Jj].coIor]++.

}

}

f\vrite(&ligne_0 [j ] .color,sizeof(u), 1 ,f_temp 1 ); f\vrite(&ligne _0[j]. label, sizeof(u), 1 ,f_temp 1 );

> /i***********************************************************/ for(j = 1; j<ncol-l; j++) { fread(&pix, 1,1 ,f_src); identifcolor(pixJ,ncouleurs); if (ligne_0[j].color) { if ( (ligne_0[j].color == ligne_0[j-l].color)l| (ligne_0[j].color == Iigne_l[j-l].color)|[ (ligne_0[j].color == l i g n e l [j].color)|| (ligne_0[j].color == ligne_l[j+l J.color)

{ )

if (!egalite_labels_pred( j, lignej)[jj.color)) {

ligne_0[j].label = minimum!), Iigne_0[j].color); ^************îtt********************************/

/* mise a jour de la table de correspondance */ ^*********************************************/

for (k = j-1; k <= j+1; k++) {

if (ligne_l[kj.color == ligne OJjJ.color) /* prédécesseurs */

/* de meme couleur * {

if(ligne ljkj.label != ligne OJj].label) {

1 = ligne_l[k],label;

while(table[Iigne_0[j].color][l] 1= 1) {

/* var = ligne l [IJ.label; lig n eljk j.la b el = ligne_0[j]. label; *

var = table[ligne_0Lj].color][l]; table[ligne_0[iJ.color][l] =

tablejligne 0[j].color][ligne 0[jJ.label]: 1 = var;

>

tablejligne OJJJ.color][1] =

tablejligne 0 [jJ.color] [ligne_0[j J.label ] : }

*************

} * fin for *

Références

Documents relatifs

Urbanisme et architecture traditionnels du sud de l'île de Nias. VIARO,

Or, si la recherche sur l’urbanisme a déjà largement abordé la question du ré- cit comme élément structurant du projet (Throgmorton, 1996, 2003 et 2007 ; Sandercock,

Patrice Gourbin, maître de conférences en Histoire et cultures architecturales, chercheur ATE, ENSA Normandie. Guy Lambert, maître de conférences en Histoire et

L’appel à communication s’adresse donc également aux divers services et institutions présents dans les territoires (DRAC, CRMH, UDAP, services d’inventaires régionaux, CAUE,

For example, Urban Planning in the field of Urban Sciences, or the Dutch journal OASE, which aims to combine academic discourse and the sensitivities of

— Aurore Huguenotte, Professeur d’histoire- géographie et Pauline Lurçon, Conservatrice des monuments historiques, DRAC Grand Est - site de

architecture et urbanisme après la Grande Guerre. Colloque

L'objectif de ce colloque est d'avoir une meilleure connaissance du patrimoine issu de la Première reconstruction afin d'alimenter la réflexion sur