2010-11-24 32 views
0

Comment les applications de traitement d'images identifient-elles le fichier ouvert par l'utilisateur?Comment les applications de traitement d'images identifient-elles le fichier ouvert par l'utilisateur?

Comme nous le savons déjà, les applications de traitement d'image peuvent ouvrir tous les formats d'images connus. Ma question est, Comment les applications de traitement d'image savent, quel type de fichier il ouvre. Il saura à partir de l'extension de fichier ou Il ouvrira le fichier en binaire et lire l'en-tête du fichier, puis je vais créer l'objet de ce type de fichier.

Ou toutes méthodes connues pour trouver les formats de fichier image.

Pour le problème ci-dessus, comment vous concevez votre système. Quels sont les modèles de conception que vous utiliserez.

Merci d'avance.

Harsha

Répondre

0

Disons que j'ai un fichier avec l'extension .PNG, et je ne suis pas sûr qu'il est vraiment un fichier PNG. Je peux look at the header et vérifier qu'il s'agit d'un fichier PNG.

Pour JPG, je peux regarder le syntax and structure du fichier, et voir si c'est ce que j'attendais d'un JPG.

En règle générale, l'algorithme est: Supposons que le fichier image est le format indiqué par l'extension de fichier, jusqu'à ce que la structure interne du fichier prouve que l'extension est incorrecte.

1

J'aurais dit que le modèle de conception de l'application dans son ensemble est complètement indépendant du processus de reconnaissance de format d'image.

Chaque format de fichier d'image contient très tôt des informations binaires qui indiquent le type de fichier, à savoir l'en-tête du fichier. Par exemple, les fichiers GIF commencent par les lettres GIF, et un code indique la version de la spécification GIF, 87a ou 89a. Les fichiers PNG - comme l'indique Robert Harvey - ont un caractère spécial, suivi par PNG comme les quatre premiers octets du fichier.

La plupart des entrées Wikipedia pour les principaux formats d'image expliquent l'en-tête, et un peu plus sur le fichier lui-même - en plus des liens ci-dessus qui couvrent PNG et JPEG, http://en.wikipedia.org/wiki/GIF#File_format pour les GIF.