Ich muss Farbkanal des Bildes (speziell "Cb") in 8x8 Blöcke aufteilen, um DCT-Koeffizienten zu modifizieren und später wieder zusammenzusetzen.Wie konvertiert man Array zu Bild Farbkanal in Python?
Ich versuche, es zu tun image.extract_patches_2d()
mit Jedoch habe ich nicht den Kanal
from PIL import Image
from sklearn.feature_extraction import image
import numpy as np
pic = Image.open('lama.png')
pic_size = pic.size
ycbcr = pic.convert('YCbCr')
(y, cb, cr) = ycbcr.split()
acb = np.asarray(cb)
patches = image.extract_patches_2d(acb, (8, 8))
acb2 = image.reconstruct_from_patches_2d(patches, (500,500))
cb_n = Image.fromarray(acb2, 'L')
scheinen auch auf die Patches wieder zusammen Array ohne Änderungen wieder zusammenzusetzen entspricht nicht dem ursprünglichen Kanal :
cb als Bild gespeichert:
Cb von Patches (cb_n in Code) gestellt:
So gibt es etwas mit dem Code falsch? Oder ist es unmöglich, Farbkanäle aus Pfaden (Blöcken) mit image.reconstruct_from_patches_2d wiederherzustellen?
Und wenn ja, gibt es einen besseren Weg zu tun, was ich brauche?
Danke für das Lesen, schätze jede Hilfe.
Vielen Dank, es funktioniert! –