1.17 ΠΑΡΑΔΕΙΓΜΑΤΑ ΜΕ ΕΠΕΞΗΓΗΣΗ ΤΩΝ ΕΤΙΚΕΤΩΝ


Στο πρώτο παράδειγμα θα εξηγηθεί το τμήμα του καταλόγου αρχείου TIFF, σύμφωνα με όσα έχουν αναφερθεί σε αυτό το κεφάλαιο. Αρχικά, πηγαίνουμε στη διεύθυνση (OFFS 00 00 00 08) που έχουμε διαβάσει από τα BYTE (4 - 7) της επικεφαλίδας και διαβάζουμε τα δύο πρώτα BYTE που περίεχουν τον αριθμό των ετικετών που περιλαμβάνει αυτός ο κατάλογος (στην περιπτωσή μας υπάρχουν 10 (0Αh) ετικέτες, όπου κάθε μία είναι μήκους 12 BYTE). Ολες μαζί οι ετικέτες μας δίνουν τις απαραίτητες πληροφορίες για την ερμήνευση των υπόλοιπων δεδομένων του καταλόγου.

Από την πρώτη ετικέτα (FFh), βρίσκουμε ότι ο κατάλογος περιγράφει μία εικόνα με πλήρη ανάλυση. Από τη δεύτερη ετικέτα (100h) βρίσκουμε το πλάτος της εικόνας σε PIXEL. Από την τρίτη ετικέτα (101h) βρίσκουμε το μήκος της εικόνας σε PIXEL. Η τέταρτη ετικέτα (102h) μας δίνει τον αριθμό των BIT που χρειάζονται για να αναπαραστήσουμε κάθε PIXEL. Στην περίπτωση μας, χρειαζόμαστε 1 BIT για κάθε PIXEL, άρα έχουμε μία εικόνα με 2 επίπεδα χρώματος. Από την πέμπτη ετικέτα (103h) βλέπουμε ότι τα δεδομένα της εικόνας έχουν συμπιεστεί με τον αλγόριθμο PACKBITS. Η επόμενη ετικέτα (106h) μας δίνει την φωτομετρική ερμηνεία των δειγμάτων. Στην περίπτωση μας, το BIT με την μικρότερη τιμή αντιπροσωπεύει το μαύρο. Η ετικέτα (107h) πιστοποιεί ότι ο κατάλογος περιγράφει μία δίχρωμη εικόνα. Η ετικέτα (111h) περιέχει το δείκτη για τα δεδομένα της εικόνας (στο παράδειγμα μας τα δεδομένα της εικόνας αρχίζουν από τη διεύθυνση ΑΕh του αρχείου). Η επόμενη ετικέτα (115h) δηλώνει τον αριθμό των δειγμάτων που χρειάζονται για να περιγραφεί κάθε PIXEL. Στο παράδειγμα μας, η ετικέτα αυτή πρέπει να έχει τιμη 1, αφού η εικόνα είναι ασπρόμαυρη. Τέλος, η ετικέτα (11Ch) δεν περιέχει χρήσιμες πληροφορίες για ασπρόμαυρες εικόνες και μπορούμε να τις αγνοήσουμε.

Διαβάζουμε το δείκτη προς τον επόμενο κατάλογο, βλέπουμε ότι δεν περιέχει την τιμή 0 και συμπεραίνουμε ότι ακολουθεί και άλλος κατάλογος. Οπως βλέπουμε όμως, ο κατάλογος αυτός περιέχει μόνο μία ετικέτα, η οποία δεν περιγράφεται στα έγγραφα του TIFF, είναι δηλαδή μία ιδιωτική ετικέτα που περιέχει πληροφορίες χρήσιμες μόνο για την εφαρμογή που δημιούργησε το αρχείο.

b:\tiff_img\workst.tif

** ------ HEADER ------ OFFS VALUE 0000 49 49 Intel Format 0002 00 2A Version Format 0004 00 00 00 08 Pointer To First Dir. ----- DIRECTORY (1)----- 0008 00 0A No Of Tags In This Dir. OFFS TAG TYPE TAG NAME LENGTH VAL/OFFS 000A 00FF 0003 Subfile Type 00000001 00000001 0016 0100 0003 Image Width 00000001 000004D0 0022 0101 0003 Image Length 00000001 00000618 0046 0102 0003 BitsperSample 00000001 00000001 0052 0103 0003 Data Compress. 00000001 00008005 005E 0106 0003 Photom.Interp. 00000001 00000001 006A 0107 0003 Thresholding 00000001 00000001 0076 0111 0004 Strip Offset 00000001 000000AE 003A 0115 0003 SamplesperPix. 00000001 00000001 002E 011C 0003 PlanarConfigur 00000001 00000001 0082 00 00 00 86 Pointer To Next Dir.
----- DIRECTORY (2)-----
0086 00 01 No Of Tags In This dir OFFS TAG TYPE TAG NAME LENGTH VAL/OFFS 0088 0000 009E 011B0000 00010005 0094 00 00 00 00 No More Directories ----- IMAGE DATA ----- OFFS ROWS DATA 00AE 1 03 00 08 88 AA FF 80 FF 00 00 02 FA AA 00 EA FC AA FF AE FF AA 00 EA F7 AA FF AE FC AA 01 E8 02 FE 00 04 2A AE EE AE AA FC EE 00 EA FD EE 01 EF FE FF EF FF FF 02 EF FF EE FF EF FB FF 03 FE EE FF EA FA AA 00 A8 D1 00 02 0A 80 28 FC 00 00 03 FD FF 0100 2 FD 55 04 51 11 00 01 05 DD 55 03 15 00 00 11 D5 55 EB 11 00 10 FF 11 FE 10 ED 11 02 15 51 55 FF 00 FD 11 FE 77 00 FF
**

Στη συνέχεια, βλέπουμε την εικόνα που περιέχεται στό αρχείο workst.tif

Στο δεύτερο παράδειγμα θα δούμε τον κατάλογο αρχείου TIFF που περιέχει εικόνα με 16 αποχρώσεις του γκρι. Αρχικά, ακολουθούμε την ίδια διαδικασία με το προηγούμενο παράδειγμα, για να βρούμε από πού ξεκινάει ο πρώτος κατάλογος του αρχείου και πόσες ετικέτες περιέχει. Στη συγκεκριμένη περίπτωση, έχουμε 27 (1Β) ετικέτες.


Από την πρώτη ετικέτα (FFh) βρίσκουμε ότι ο κατάλογος περιγράφει μία εικόνα με πλήρη ανάλυση. Από τη δεύτερη ετικέτα (100h) βρίσκουμε το πλάτος της εικόνας σε PIXEL. Από την τρίτη ετικέτα (101h) βρίσκουμε το μήκος της εικόνας σε PIXEL. Η τέταρτη ετικέτα (102h) μας δίνει τον αριθμό των BIT που χρειάζονται για να αναπαραστήσουμε κάθε PIXEL. Στην περίπτωση μας, χρειαζόμαστε 4 BIT για κάθε PIXEL. Από την πέμπτη ετικέτα (103h) βλέπουμε ότι τα δεδομένα της εικόνας δεν έχουν συμπιεστεί με κανένα αλγόριθμο. Η επόμενη ετικέτα (106h) μας δίνει την φωτομετρική ερμηνεία των δειγμάτων. Στην περίπτωση μας, το BIT με την μικρότερη τιμή αντιπροσωπεύει το μαύρο. Η ετικέτα (10Ah) μας πληροφορεί ότι τα δεδομένα για κάθε PIXEL τοποθετούνται σε BYTE με διάταξη από τα αριστερά προς τα δεξιά. Η ετικέτα (111h) περιέχει το δείκτη προς τα δεδομένα της εικόνας (στο παράδειγμα μας, τα δεδομένα της εικόνας αρχίζουν από τη διεύθυνση 182h του αρχείου). Η ετικέτα (112h) μας πληροφορεί ότι η πρώτη σειρά δεδομένων είναι το επάνω μέρος της εικόνας, ενώ η πρώτη στήλη δεδομένων είναι η αριστερή πλευρά της εικόνας. Η επόμενη ετικέτα (115h) δηλώνει τον αριθμό των δειγμάτων που χρειάζονται για να περιγραφεί κάθε PIXEL. Στο παράδειγμα μας, η ετικέτα αυτή έχει τιμή 1. Η ετικέτα (116h) μας πληροφορεί ότι κάθε λουρίδα εικόνας περιέχει F6h γραμμές εικόνας. Η ετικέτα (117h) μας πληροφορεί ότι κάθε λουρίδα έχει μήκος 8874h BYTE. Οι ετικέτες (118h) και (119h) μας δίνουν την ελάχιστη και τη μέγιστη τιμή που μπορεί να έχει κάποιο δείγμα. Οι ετικέτες (11Ah) και (11Bh) περιέχουν δείκτες προς τα δεδομένα που μας δίνουν την οριζόντια και την κατακόρυφη ανάλυση της εικόνας. Η ετικέτα (11Ch) δεν περιέχει χρήσιμες πληροφορίες για ασπρόμαυρες εικόνες και μπορούμε να την αγνοήσουμε. Η ετικέτα (122h) δηλώνει ότι τα δεδομένα της κλίμακας του γκρι αντιπροσωπεύουν χιλιοστά της μονάδας. Η ετικέτα (123h) περιέχει ένα δείκτη προς μία ομάδα 16 δεδομένων, κάθε ένα από τα οποία καθορίζει το ακριβές επίπεδο του γκρι για κάθε επιτρεπτή τιμή δείγματος. Ακολουθούν 8 ιδιωτικές ετικέτες, τις οποίες είναι χρήσιμο να αγνοήσουμε. Ο δείκτης προς τον επόμενο κατάλογο έχει την τιμή 0, άρα δεν ακολουθεί άλλος κατάλογος.



b:\tiff_img\image1.tif .margin=21
** ------ HEADER ------ OFFS VALUE 0000 49 49 Intel Format 0002 00 2A Version Format 0004 00 00 00 08 Pointer To First Dir. ----- DIRECTORY ----- 0008 00 1B No Of Tags In This Dir. OFFS TAG TYPE TAG NAME LENGTH VAL/OFFS 000A 00FF 0003 Subfile Type 00000001 00000001 0016 0100 0003 Image Width 00000001 0000011C 0022 0101 0003 Image Length 00000001 000000F6 002E 0102 0003 BitsperSample 00000001 00000004 003A 0103 0003 Data Compress. 00000001 00000001 0046 0106 0003 Photom.Interp. 00000001 00000001 0052 010A 0003 Fill Order 00000001 00000001 005E 0111 0004 Strip Offset 00000001 00000182 006A 0112 0003 Orientation 00000001 00000001 0076 0115 0003 SamplesperPix. 00000001 00000001 0082 0116 0004 Rows per Strip 00000001 000000F6 008E 0117 0004 Strip per Byte 00000001 00008874 009A 0118 0003 MinSampleValue 00000001 00000000 00A6 0119 0003 MaxSamplevalue 00000001 0000000F 00B2 011A 0005 X resolution 00000001 00000152 --> 0000012C / 00000001 00BE 011B 0005 Y resolution 00000001 0000015A --> 0000012C / 00000001 00CA 011C 0003 PlanarConfigur 00000001 00000001 00D6 0122 0003 GrayResponUnit 00000001 00000003 00E2 0123 0003 GrayresponCur. 00000010 00000162 --> 0576 042D 0374 02F2 028F 023E 01FA 01BF 018B 015D 0133 010D 00EA 00C9 00AB 008F 00EE 8048 0003 00000001 00000002 00FA 8049 0003 00000001 00000001 0106 804A 0003 00000001 00000002 0112 804B 0003 00000001 00000001 011E 804C 0004 00000001 00000000 012A 804D 0004 00000001 00000000 0136 804E 0001 00000000 00000000 0142 804F 0003 00000001 00000004 014E 00 00 00 00 No More Directories
**