Seite 1 von 1

Image Processing mit Python

Verfasst: Freitag 1. Mai 2020, 10:59
von sublist
Hi Leute.

Ich möchte gerne Bilder mit Python bearbeiten.
Im konkreten Fall möchte ich z.b. von einem *.dds file den Rot Kanal von einem Bild in den Blau Kanal eines anderen Bildes kopieren.
Ich spiele gerade mit PythonMagick rum. Ist ja der Klassiker für solche Aufgaben, aber iwie ist die Doku in bezug auf Python eher spärlich.
https://imagemagick.org/index.php
https://imagemagick.org/Usage/

Code: Alles auswählen

import PythonMagick
myPath 	= r'c:\Users\XXX\Desktop'
myImage = r'\Zwischenablage-1.png'

image 	= PythonMagick.Image(myPath + myImage)

#Get all functions from Image Class
allAttrs4ImageClass = dir(PythonMagick.Image())
for each in allAttrs4ImageClass:
	print(each)

print(image.fileName())
print(image.size().width())
print(image.size().height())

image.sample('!200x200')
image.sample('200x200')
image.blur()
image.sharpen()
image.write(r'c:\Users\XXX\Desktop\Zwischenablage-1.dds')
Vielleicht gibts ja noch andere Module die dafür geeignet sind?

Danke und Grüße
Guido

Re: Image Processing mit Python

Verfasst: Freitag 1. Mai 2020, 11:12
von __deets__
Ich wuerde ja eher Pillow nehmen, und ggf. OpenCV dazu, mit dem du eine grosse Menge an Tools hast. Sowas wie den Kanal umzutauschen ist dann einfach eine Frage der numpy-Array-Behandlung.

Re: Image Processing mit Python

Verfasst: Freitag 1. Mai 2020, 11:24
von sublist
pillow kann leider keine dds files schreiben

Re: Image Processing mit Python

Verfasst: Freitag 1. Mai 2020, 12:37
von __deets__
Nicht? Ich las es kann sie lesen, aber vielleicht geht das nur in eine Richtung. Letztlich sollte alles, was ein solches Bild lesen und schreiben kann die Daten in RGB-Kanaele oder aehnliches ueberfuehren koennen. Und bearbeiten kannst du es dann mit numpy, OpenCV.