Ich nehme eine Bildschirmaufnahme (PNG-Format) Größe ändern, und schreibe es wieder im TIF-Format, über scipy.misc
Modul (imread, imresize, imsave Funktionen). Das TIF-Format-Bild wird in Tesseract-OCR eingegeben. Tesseract beschwert sich jedoch, dass die in den Metadaten der TIF-Datei angegebene Auflösung ist. Wie kann man dies beim Speichern des Bildes über scipy.misc.imsave
oder eine andere Methode angeben?Wie kann man dpi beim Speichern von Bildern als tif über scipy.misc.imsave angeben?
Antwort
Bitte Datei dieses unter "jede andere Methode" :-)
Sie die Auflösung mit exiftool
wie folgt einstellen:
exiftool SomeImage.tif -xresolution=300 -yresolution=300 -resolutionunit=inches
Prüfen Sie es mit ImageMagick:
identify -verbose SomeImage.tif
Image: SomeImage.tif
Format: TIFF (Tagged Image File Format)
Mime type: image/tiff
Class: DirectClass
Geometry: 100x100+0+0
Resolution: 300x300
Print size: 0.333333x0.333333
...
...
Ich schlage vor, Sie Shell, um diesen Befehl mitauszuführen.
Ein Python wrapper existiert, aber ich habe es nie benutzt und kann nicht dafür bürgen.
Ohne zu analysieren, woher genau Ihre Probleme kommen, the approach of Mark (vielleicht ist das genug für Sie; vielleicht nicht; ich kann mir vorstellen, dass es etwas anderes in Ihrem Code gibt, das der Grund sein könnte) kann mit Pillow emuliert werden (und ich don sehe keine Option dafür in scipys Wrapper.
Eigentlich, anstatt Tags neu zu schreiben, wie er es tut, kümmern wir uns um diese während unserer ursprünglichen Aufgabe. In der Praxis sollten beide Ansätze in Ordnung sein.
Mit sehr hoher Wahrscheinlichkeit ist scipy bereits using Pillow under the hood (Note that Pillow (https://python-pillow.org/) is not a dependency of SciPy, but the image manipulation functions indicated in the list below are not available without it.
; diese Liste enthält imsave
).
from scipy.misc import ascent # test image
import PIL.Image
scipy_img = ascent().astype('uint8')
arr2im = PIL.Image.fromarray(scipy_img)
arr2im.save('test.tif', format='TIFF',
dpi=(100., 100.), # there still seems to be a bug when using int's here
compression='tiff_lzw',)
Überprüfung mit exiftool:
ExifTool Version Number : 10.63
File Name : test.tif
...
Image Width : 512
Image Height : 512
Bits Per Sample : 8
Compression : LZW
...
X Resolution : 100
Y Resolution : 100
...
Resolution Unit : inches
Image Size : 512x512
Megapixels : 0.262
- 1. Wie kann ich DPI beim Speichern eines Kissenbildes richtig einstellen?
- 2. Fehlercode beim Speichern von Bildern von PHPhotoLibrary
- 3. Probleme beim Speichern und Abrufen von Bildern
- 4. Probleme beim Speichern von Bildern mit OpenCV?
- 5. Read DPI von Image-Datei
- 6. Wie kann man Zwischenausgaben in Bildern einer mehrstufigen Pipeline speichern?
- 7. C# Speichern von großen Bildern
- 8. Ungewöhnliches Verhalten beim Speichern und Laden von Bildern in Fackel7
- 9. Wie TIF zu Schwarz-Weiß Monochrome TIF
- 10. Wie man Text über schwebenden Bildern anzeigt
- 11. Best Practice beim Speichern von Bildern auf dem Server
- 12. Angeben von Attributwerten als CDATA
- 13. Leistungseinbußen beim Speichern von 600.000 Bildern im selben Ordner (NTFS)
- 14. Speichern von Bildern in NoSQL-Speichern
- 15. Wie kann ich DPI/PPI über eine GD-Größe einstellen?
- 16. Android - Wie erhalte ich DPI (dots per inch) von JPEG-Dateien beim programmgesteuerten Laden oder Speichern?
- 17. Hochladen und Speichern von Bildern
- 18. Wie kann ich den Dateityp von Bildern ohne Erweiterung angeben? Wie arbeiten Sie?
- 19. Wie kann man literal in groovy angeben?
- 20. Speichern von Bildern im Verzeichnis res/drawable
- 21. Django: Speichern von Bildern Datenbank
- 22. Hochladen, Speichern und Anzeigen von Bildern über Nodejs und Mongodb?
- 23. (WPF) So extrahieren Sie Frames aus Multiframe-Bildern (tif, gif)
- 24. Logisches Datenmodell - wie kann man FK angeben?
- 25. Benutzer beim Importieren über Hotfolder in Hybris angeben
- 26. Speichern von Bildern in SQLite-Datei - Anfänger
- 27. Wie man Miterlimit beim Speichern als Svg mit Matplotlib setzt
- 28. Kombinieren von .tif-Stapeln in Python
- 29. Wie kann man eine große Anzahl von .png Bildern in android-Zeichen speichern?
- 30. Symfony - Hochladen von Bildern und Speichern als Blob