Nous utilisons des cookies pour vous garantir la meilleure expérience sur notre site. Si vous continuez à utiliser ce dernier, nous considèrerons que vous acceptez l'utilisation des cookies. J'ai compris ! ou En savoir plus !.
banniere

Le portail francophone de la géomatique


Toujours pas inscrit ? Mot de passe oublié ?
Nom d'utilisateur    Mot de passe              Toujours pas inscrit ?   Mot de passe oublié ?

Annonce

Rencontres QGIS 2025

L'appel à participation est ouvert jusqu'au 19 janvier 2025!

#1 Mon 18 December 2006 21:31

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

[MapInfo x.x] Pixels non carrés

Bonjour,
J'ai toujours eu des problèmes avec la gestion "bizarre" par MapInfo des pixels rectangulaires et la version 8.5 n'a pas vraiment amélioré les choses.
Une image carrée en Lambert 2 étendu (10 km x 10 km), mais dont les pixels font 2,5 m en X et 5 m en Y (4000 x 2000 pixels), appelée seule dans MI apparaît comme un rectangle sad
Avez vous des retours d'expérience sur ce problème et des moyens de le résoudre ??
Merci

Hors ligne

 

#2 Tue 19 December 2006 09:50

CRIGBAB
Participant assidu
Lieu: Bayonne
Date d'inscription: 14 Nov 2005
Messages: 180

Re: [MapInfo x.x] Pixels non carrés

Bonjour à tous

A priori c'est simple car Mapinfo géoréférence les images via un point TAB ou la taille du pixel n'est pas directement enregistrée. Malheureusement jusqu'en version 8.0 inclus il affiche un pixel comme un carré quelque soit sa taille "terrain" donc dans votre cas l'image aura toujours la forme d'un rectangle. Il faut voir avec la version 8.5 et son nouveau mode de gestion des rasters.

Donc à moins de rééchentilloner votre raster vous êtes marron ou de tester avec la V8.5.

JP LARTIGAU

Hors ligne

 

#3 Tue 19 December 2006 10:19

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3199
Site web

Re: [MapInfo x.x] Pixels non carrés

Bonjour,

Utilisez XNVIEW pour rééchantilloner l'image il permet de différencier les valeur en x et en Y.

Je suis surpris que MAPINFO ne gère pas ce genre de chose, car sous windows et depuis bien longtemps les rasters possèdent deux champs disctincts Xpixelpermeter et YPixelPerMeter, il y a là des développeurs qui se sont simplifié la vie en les considérants comme toujours identiques.

Christophe.


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#4 Tue 19 December 2006 10:23

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: [MapInfo x.x] Pixels non carrés

CRIGBAB a écrit:

....Donc à moins de rééchantilloner votre raster vous êtes marron ou de tester avec la V8.5....


Merci mais...
- pas question de rééchantilloner (c'est à MI de faire du boulot correct, tous les autres y arrivent)
- j'ai testé avec MI85: c'est pareil sauf si on demande, dans les préférences->traitement images, la reprojection sur le vecteur (c'est LA nouveauté de MI85)....mais quand on n'a pas de vecteur du coin ??? on est marron ...ou vert (de rage) comme c'est plutôt mon cas en attendant que MI donne enfin le droit aux pixels d'être rectangulaires sad

Hors ligne

 

#5 Tue 19 December 2006 10:31

hanczyk
Participant assidu
Lieu: Châlons-en-Champagne
Date d'inscription: 21 Apr 2006
Messages: 596

Re: [MapInfo x.x] Pixels non carrés

pouvez-vous m'éclairer sur le pixel rectangulaire ? je croyais le pixel carré ! et son nombre en l et L qui donnait la forme de l'image !


Jean-Marc Hanczyk

Hors ligne

 

#6 Tue 19 December 2006 11:38

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: [MapInfo x.x] Pixels non carrés

hanczyk a écrit:

pouvez-vous m'éclairer sur le pixel rectangulaire ? je croyais le pixel carré ! et son nombre en l et L qui donnait la forme de l'image !


Le carré n'est qu'un cas particulier de rectangle et il peut exister des pixels rectangulaires (images satellite par exemple, mais pas seulement)
La forme de l'image, dans l'espace cartographique, n'est pas seulement donnée par le nombre de lignes et de colonnes mais aussi par la "taille terrain" de ces pixels qui peut donc être inégale en X et Y
C'est dans "l'espace image" que cette forme ne dépend que des lignes et colonnes

Hors ligne

 

#7 Tue 19 December 2006 12:04

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3199
Site web

Re: [MapInfo x.x] Pixels non carrés

hanczyk a écrit:

pouvez-vous m'éclairer sur le pixel rectangulaire ? je croyais le pixel carré ! et son nombre en l et L qui donnait la forme de l'image !


Comme précisé dans ma réponse une image est définie par une matrice de pixel, la dimension du pixel est définie par les champs XpixelPerMeter, YpixelPerMeter qui peuvent être différents, donc donner un rectangle.

Pour ceux qui veulent plus de précision sous windows consulter la structure DIB et BITMAPINFO dans la SDK Windows.

OU:
http://edais.mvps.org/Tutorials/GDI/DIB … t%201).pdf


A+

Christophe


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#8 Tue 19 December 2006 13:35

michel wurtz
Participant actif
Lieu: Neuve-Eglise
Date d'inscription: 17 Oct 2005
Messages: 119

Re: [MapInfo x.x] Pixels non carrés

Salut Maurice,

rééchantillone l'image avec imagemagick (c'est du libre et ça existe
sous Windows)... et passe la ensuite en ecw si tu veux qu'elle tienne
moins de place.

C'est à mon avis la solution la simple, quoiqu'un tantinet (ou parce que
?) "force brute" :-)

--
Michel Wurtz
MAP/SG/SM/SDSI/CERIT/DIG
B.P. 12668 - 31326 Castanet-Tolosan Cedex

Hors ligne

 

#9 Tue 19 December 2006 14:47

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: [MapInfo x.x] Pixels non carrés

Merci Michel
M'en sortir certes je peux...mais puisqu'on est dans "son" forum, j'essayais de trouver un "truc" pour obliger MapInfo à revenir de ce côté obscur !!
STP cher MI, les pixels rectangulaires prendre correctement en compte tu dois...et vite (grrrr)!!

Hors ligne

 

#10 Wed 20 December 2006 12:30

hanczyk
Participant assidu
Lieu: Châlons-en-Champagne
Date d'inscription: 21 Apr 2006
Messages: 596

Re: [MapInfo x.x] Pixels non carrés

Je suis toujours intrigué par ce raster aux pixels rectangulaires (j'assure des formation sur l'image).
Maurice pourriez-vous m'envoyer un extrait de votre image pour voir de plus près le pixel.
pour DIANA2D merci pour votre lien mais avez-vous une version française ?


Jean-Marc Hanczyk

Hors ligne

 

#11 Wed 20 December 2006 13:09

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: [MapInfo x.x] Pixels non carrés

Je vous ai fait passer un exemple
...et mes excuses pour l'abus de langage:
ce qui est rectangulaire c'est bien la dimension "terrain" des pixels,
quand bien même ceux ci sont carrés dans l'image
Ce qui est en cause c'est la "traduction" en SIG de telles images

Hors ligne

 

#12 Wed 20 December 2006 14:41

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3199
Site web

Re: [MapInfo x.x] Pixels non carrés

Bonjour,

Pour la version française je crois que c'est pas possible, pour VB6 MD Sutton est le spécialiste (il ne parle pas français), pour la KB Microsoft tout ce qui concerne les images (DIB: Device Independent BItmap: Bitmap independant du périphérique) est en Anglais, pour ma part (DIB en VB6) je n'ai pas trouvé d'homologue francophone.

Comme le dit Maurice c'est la dimension "terrain" des pixels qui est rectangulaire, par contre ce n'est pas  par ce qu'ils sont "carrés" dans l'image. Un pixel est sans dimension et indivisible, c'est la plus petite partie non fractionnable d'une image.

Une image  sous windows:

Il faut différencier le fichier (Tif, JPG, ECW , BMP etc ...)  de l'image en mémoire vive:

Le fichier contient les infos de façon compressée, avant toute utilisation dans un logiciel ces infos sont lues et décompressées pour obtenir un DIB. ce DIB se structure comme suit :

une structure BITMAPINFO:
(copie de la SDK Windows)

typedef struct tagBITMAPINFO { // bmi
    BITMAPINFOHEADER bmiHeader;
    RGBQUAD          bmiColors[1];
} BITMAPINFO;

typedef struct tagBITMAPINFOHEADER{ // bmih
    DWORD  biSize;
    LONG   biWidth;
    LONG   biHeight;
    WORD   biPlanes;
    WORD   biBitCount
    DWORD  biCompression;
    DWORD  biSizeImage;
    LONG   biXPelsPerMeter;
    LONG   biYPelsPerMeter;
    DWORD  biClrUsed;
    DWORD  biClrImportant;
} BITMAPINFOHEADER;

typedef struct tagRGBQUAD { // rgbq
    BYTE    rgbBlue;
    BYTE    rgbGreen;
    BYTE    rgbRed;
    BYTE    rgbReserved;
} RGBQUAD;


Comme vous pouvez le constater , dans la structure BITMAPINFOHEADER les champs:
LONG   biXPelsPerMeter;
LONG   biYPelsPerMeter;

Définissent la géométrie du pixel, s'ils sont de valeur différentes le pixel sera représenté selon un rectangle.
Ceci est assez rare du fait que la provenance des images est le scanner, qui scan de manière uniforme selon l'axe des X et des Y (donc géomètrie du pixel carrée) mais des origines différentes (satellites) peuvent donner des pixel rectangulaire.

Pour le coté "Pixel carré dans l'image" (sic Maurice) pour une ligne de balayage de l'image (Y= Cte) chaque pixel est représenté sur 1bit, 4 bits, 1 octet, 3 octets ou 4 octets (ceci n'a rien de "carré"), ce en fonction de la valeur du champ:
WORD   biBitCount, il s'agit de la "profondeur de couleur" (BitDepth en Anglais, j'ai pas de meilleur traduction) qui traduit la forme et la valeur du codage de la couleur du pixel
bibitcount = 1 Image bichrome un pixel = 1 bit (0 noir , 1 blanc par exemple)
bibitcount = 4 : image 16 couleur chaque pixel est codé sur 4 bits
bibitcount = 8 : image 256 couleur chaque pixel st codé sur 1 octet (0 à 255) la valeur fournit l'entrée du tableau RGBQuad.
bibitcount = 24 : Image true color chaque pixel est codé sur 3 octet chaque octet contenant la valeur du Bleu, du Vert et du Rouge (attention inversion par rapport au RGB classique)
bibitcount = 32 : inderm précédent avec un Alpha channel (octet1) qui défini la valeur de la couleur qui sera transparente.

Tout ceci bien sur pour un biplanes (nombre de plan de couleur) qui vaut 1, après on passe à des situations qui sont difficilement descriptibles dans un simple post

A+

Christophe


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#13 Wed 20 December 2006 15:14

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: [MapInfo x.x] Pixels non carrés

Wouaooo!! Merci Christophe !!
Voilà une explication...carrée smile  (qui même en français reste complexe, en tout cas pour moi, mais je comprends - enfin - le concept de DIB)
Pour ce "vilain" MI je pense finalement qu'il n'y a pas vraiment de "remède" et que tout son problème est structurel: il vient de sa méthode de travail avec une grille virtuelle (à mailles carrées?), celle qui lui permet de reprojeter à la volée les vecteurs sur les rasters
La "solution" qu'apporte MI85, qui sait dorénavant reprojeter aussi les rasters sur les vecteurs, est que dans ce cas le vecteur reste "stable" et c'est l'image qui sera "déformée", i.e redeviendra un carré. Mais il faut une table vecteur...

Hors ligne

 

#14 Wed 20 December 2006 16:45

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3199
Site web

Re: [MapInfo x.x] Pixels non carrés

Je ne sais pas comment travail MI , mais étant en cours de choix d'un noyau SIG pour l'interco où je suis élu, ce genre de conversation ne m'encourage pas à le privilégier.

Concernant la grille virtuelle, je ne pense pas que cela vient de là , le pb vient amha du parti pris des developpeurs qui ont considéré qu'un pixel était toujours carré. Ce genre de chose est malheureusement courante, l'appli PCI-Image developpée par APIC pour la DGI considère elle aussi que les pixels sont carrés de nature et qui plus est que la valeur est toujours 300 dpi.
Ce qui est absurde. Au regard des explications données dans mon précédent post, on constatera qu'il ne faut jamais exprimer la densité d'une image en dpi (pixel par pouce) mais bien en pixel par mètre, ce qui permet une plus grande précision.

300 dpi = 11 811 pixel par mètre
Si votre scanner est mal étalonné (ou autre) il sera difficile d'exprimer en dpi, 11 809 pixel par mètre! (les valeurs utilisées étant toujours entières, un pixel est non divisible).

Ceci a son importance quand on tente de géoreférencer une image qui fait 11000 * 9000 pixels!

A+

Christophe


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#15 Thu 21 December 2006 10:32

CRIGBAB
Participant assidu
Lieu: Bayonne
Date d'inscription: 14 Nov 2005
Messages: 180

Re: [MapInfo x.x] Pixels non carrés

Bonjour à tous et particulièrement à Maurice

En effet si on ne possède pas de table vecteur rien ne vous empèche d'en créer une avec le système de projection que vous souhaitez et d'y dessiner un simple rectangle (pas trop dans la pampa) .

A la rigueur vous pouvez vous créer autant de tables que de projections que vous voulez utilisez avec pour chacune d'entre elle un rectangle.

Mais j'espère (car j'attends toujours mes MI 8.5) qu'en choisissant le système de projection de le fenêtre carte on peut forcer la reprojection.

Ce qui m'interpelle le plus c'est d'utiliser des fichiers raster dans un SIG sans table vecteur. Quel intérêt ?

Car des outils comme Photoshop, Illustrator sont tout aussi à même d'afficher votre raster sans compter tous les autres gratuits et extrêment performants (GIMP).


Pour ce qui concerne Les questions metaphysiques des DPI cela reste une "metadonnée" car la véritable expression du DPI est importante par rapport à l'expression visuelle du raster :
projection avec un vieux videoprojecteur dont la resol est de 640x480 pour faire dans le pire.
sortie sur papier papier photo glacé avec un "rééchantillonage" à 200 dpi par le pilote et le logiciel d'impression.
Visualisation sur ecran d'ordinateur.
...

En gros il n'y a pas plus trompeur que le DPI pris tout seul. Si ce n'est que pour une image donnée on peut dire quels sont les limites d'exploitation (agrandissement papier, zoom ecran ....) du fichier. Quant à la qualité de son contenu c'est un autre problème qui concerne le domaine d'usage du contenu (architecture, photo satellitaire, photo aérienne... ) et donc directement ce que chaque pixel couvre.


Comme je l'ai déjà dit chaque logiciel à ses points forts et ses points faibles et à mon avis la contrainte de non reprojection à la volée de MI jusqu'à la version 8.0 était un point faible. Ce n'est plus le cas même si tout n'est probablement pas parfait. Mais un SIG reste pour moi un outil SGBD principalement. Le raster surtout lorsqu'il couvre "mon" territoire est acquis avec les contraintes des outils que j'utilise et est donc "adapté" à l'outil et aux usages que je souhaite en faire.

Bon travaux et bonnes fêtes de fin d'année à toutes et tous

JP LARTIGAU

Hors ligne

 

#16 Thu 21 December 2006 10:45

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: [MapInfo x.x] Pixels non carrés

CRIGBAB a écrit:

...En effet si on ne possède pas de table vecteur rien ne vous empèche d'en créer une avec le système de projection que vous souhaitez et d'y dessiner un simple rectangle (pas trop dans la pampa) .
...
Ce qui m'interpelle le plus c'est d'utiliser des fichiers raster dans un SIG sans table vecteur. Quel intérêt ?...


Bien vu, c'est effectivement une astuce pour forcer une "reprojection" (que MI85 réalise ma fois fort bien) et utiliser le raster....par exemple pour numériser de l'information smile

Hors ligne

 

#17 Thu 21 December 2006 14:06

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3199
Site web

Re: [MapInfo x.x] Pixels non carrés

Bonjour,

Excusez mon ignorance mais qu'est-ce qu'une table vecteur ?

Christophe


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#18 Thu 21 December 2006 14:13

michel wurtz
Participant actif
Lieu: Neuve-Eglise
Date d'inscription: 17 Oct 2005
Messages: 119

Re: [MapInfo x.x] Pixels non carrés

Bonjour,

La notion de "dpi" ou même de pixel par mètre, est à mon avis totalement
étrangère à tout géoréférencement -- ou du moins devrait l'être.  Elle
est utile pour indiquer la résolution d'un scanner ou d'une table à
numériser (encore que dans ce dernier cas, on préfère la donner en
fraction de mm).  Les outils de CAO l'aiment bien, car l'usage en est
naturel pour l'impression.

Par contre, ce qui compte pour le géoréférencement, c'est la relation
entre coordonnées terrain et coordonnées images, ce qui revient à donner
une taille en m terrain à chaque pixel.  Bien évidement, les meilleurs
résultats sont obtenus lorsque les pixels sont carrés et l'image
orientée dans le sens des axes de la projection utilisée.

Maintenant si j'ai, comme par exemple dans le cas du srtm, des pixels
basés sur des coordonnées géographiques (taille en minutes ou secondes
d'arc), non seulement la taille en X et en Y ne sera pas la même en cas
de projection, mais mes pixels ne seront même pas rectangulaires...

Dans ces cas, le mieux est quand même de recalculer l'image (Grass le
fait très bien par exemple), ou si, on reprojete à la volée, d'avoir une
machine bien puissante, puisque cela revient à recalculer l'image
affichée à chaque rafraîchissement d'écran...

Quant à se priver de MapInfo pour cela... je ne pense pas que ce soit un
critère discriminant.  La simplicité de certains des algorithmes
utilisés par MI a aussi quelques avantages, dont la vitesse de
traitement sur de gros volumes de données, si on le compare avec des
logiciels SIG similaires.

--
Michel Wurtz
MAP/SG/SM/SDSI/CERIT/DIG
B.P. 12668 - 31326 Castanet-Tolosan Cedex

Hors ligne

 

#19 Thu 21 December 2006 14:36

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: [MapInfo x.x] Pixels non carrés

Michel: déjà qu'ils sont pas carrés, si en plus les pixels sont pas rectangulaires...on tourne en rond!!

Christophe: chez MapInfo tout est une table. Aussi bien une table "à plat" de pures données alphanumériques sans objets graphiques, qu'une tables d'objets vectoriels (points, lignes, polygones) graphiques - avec au moins un attribut, dans ce cas - que même une image (on parle de table raster) bien sûr sans attributs. Exception: pour certaines représentations matricielles, on parle de grid (grille, cas des MNT) sans dire "table grid"....encore que!
En résumé vecteur s'oppose à raster/matriciel/image: c'est une autre représentation des objets

Hors ligne

 

#20 Thu 21 December 2006 16:33

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3199
Site web

Re: [MapInfo x.x] Pixels non carrés

Bonjour,

Je suis tout à fait en accord avec vous et c'est un abus de langage (ou la fatigue de fin d'année) qui m'a fait parler de géoref.
Ce que je voulais signifier c'est qu'au niveau de l'appli PCI-Image la correspondance entre pixel et espace métrique est erronée du fait de considérer une valeur fixe des dpi pour établir la géomètrie de l'image, et de ne pas utiliser les valeur Xpixel et Ypixel contenue dans le Header du fichier tif.
j'ajouterai que le géoref est justement la technique qui consiste à donner la dimension du pixel (et l'ancrage de l'image).

Pour ce qui est du recalcul de l'image en fonction de la projection, je ne peux être qu'en accord, mon propre produit le réalisant (pas à la volée car effectivement il faut une sacré puissance de calcul pour effectuer une rotation ou autre opération sur les pixels sur du noir et blanc particulièrement), il vaut mieux créer le fichier une fois et ensuite l'utiliser à la volée.

Merci Maurice.
J'avais pas compris que c'était Table au sens base de données. En fait pour moi ce sont des objets, la table, étant le conteneur physique (la base de donnée) . Effectivement un raster est forcement un objet et s'il est utilisé dans un SIG, c'est obligatoirement un objet géolocalisé, donc une Table en langage MapInfo si j'ai bien compris ? (dans ce cas je suis d'accord avec GRIGBAB)

Bonnes fête à tous

Pace E Salute

Christophe


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#21 Fri 22 December 2006 13:12

hanczyk
Participant assidu
Lieu: Châlons-en-Champagne
Date d'inscription: 21 Apr 2006
Messages: 596

Re: [MapInfo x.x] Pixels non carrés

DIANA2D a écrit:

un raster est forcement un objet et s'il est utilisé dans un SIG, c'est obligatoirement un objet géolocalisé


pas tout à fait, MI propose de caler ou non une image, exemple pourquoi caler un logo pour une mise en page ? (cf page 258 du guide de l'utilisateur MI 7.8).
Peut-être que je dérape par rapport au problème initial du pixel carré, mais.... alors il faudrait continuer sur le GéoBAr....


Jean-Marc Hanczyk

Hors ligne

 

#22 Fri 22 December 2006 15:16

ChristopheV
Membre
Lieu: Ajaccio
Date d'inscription: 7 Sep 2005
Messages: 3199
Site web

Re: [MapInfo x.x] Pixels non carrés

Bonjour,

heu ... dans ce cas c'est de la PAO pas du SIG ... rendez vous au bar pour la nouvelle année!

Christophe


Christophe
L'avantage d'être une île c'est d'être une terre topologiquement close

Hors ligne

 

#23 Fri 22 December 2006 15:26

Maurice
Membre
Lieu: Montpellier
Date d'inscription: 5 Sep 2005
Messages: 5331

Re: [MapInfo x.x] Pixels non carrés

DIANA2D.dev a écrit:

Bonjour,

heu ... dans ce cas c'est de la PAO pas du SIG ... rendez vous au bar pour la nouvelle année!

Christophe


Mon devoir m'impose de vous dire ... avec modération les gars !! smile

Hors ligne

 

#24 Mon 25 December 2006 01:44

mohamed Rahhou
Juste Inscrit !
Date d'inscription: 23 Dec 2006
Messages: 1

Re: [MapInfo x.x] Pixels non carrés

slut des géographes de Fès, et bonnes fêtes

Hors ligne

 

Pied de page des forums

Powered by FluxBB