Ich schreibe eine Miniaturansicht in C++.Wie lese ich Miniaturbilder aus JPEG-Bildern?
Ich verwende zuerst EXIF-Informationen, um die Miniaturansicht eines Bildes wiederherzustellen, aber die Miniaturansicht im EXIF ist schlecht, mit schwarzen Bändern. Also möchte ich das eingebettete Thumbnail des JPEGs bekommen, wie kann ich das machen?
Eine andere Frage: ist die eingebettete Miniatur von jpeg gleich EXIF thumbnail?
Sie machen nicht viel Sinn. Das einzige Thumbnail in einer JFIF-Datei ist das EXIF-Thumbnail. JFIF ermöglicht nur das Speichern eines einzelnen Bildes in einer Datei und das Miniaturbild ist im EXIF-Header "versteckt". Was meinst du mit "eingebetteten" Thumbnails? Wie unten erwähnt, können Sie eine schnelle Miniaturansicht aus den DC-Werten jeder MCU erstellen, die 1/64 der Größe des Originalbilds beträgt. Nicht sicher, was du mit "korruptem" Thumbnail-Bild meinst. Bei einigen Kameras werden schwarze Balken hinzugefügt, da das Bild nicht das gleiche Seitenverhältnis wie das Standard-Thumbnai-Bild 160x120 aufweist. – BitBank
vielen Dank BitBank! Ich sehe, zuerst war ich verwirrt über die schwarzen Balken, weißt du, wie man die schwarzen Balken entfernt? – user25749
Die schwarzen Balken sind Teil des Bildes. Um sie zu entfernen, müssen Sie das Bild basierend auf der ursprünglichen Bildgröße beschneiden. z.B. Wenn das Originalbild 1600x1200 ist, werden keine schwarzen Balken angezeigt, da das Miniaturbild 160x120 das gleiche Verhältnis hat. Wenn das Bild 3888x2592 ist, ist das Thumbnail 160x106. – BitBank