Zusammenfügen von Matrizen

mit matplotlib, NumPy, pandas, SciPy, SymPy und weiteren mathematischen Programmbibliotheken.
Antworten
Beginner2019
User
Beiträge: 17
Registriert: Mittwoch 29. April 2020, 12:27

Hallo,
aus einer RAW-Datei wurden Farbatrizen extrahiert. Das sieht so aus:
c1 = rawImg[0::2,0::2,:,:]
c2 = rawImg[1::2,0::2,:,:]
c3 = rawImg[0::2,1::2,:,:]
c4 = rawImg[1::2,1::2,:,:]
c1 und c4 sind die Blau und rotwerte. Aus C2 und c3 wirrd der Mittelwert gebildet:
c5 = (c2+c3)*0.5
für den Grünwert.
Es sind sieben Bilder, dafür steht die letzte Dimension. Nun gilt es die Blau, Rot und Grünwerte in einen RGB-Pixel für ein RGB Bild zu integrieren.
Mein Ansatz war folgender:
for i in range (7):
rgbImg[:,:,:,i] = np.concatenate((c1[:,:,:,i],c5[:,:,:,i],c4[:,:,:,i]))
Allerdings bekomme ich immer den Fehler: Too many indices for array
Kann das jemadn erklären? Es müsste doch so funktionieren
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

Welche Dimension hat dann rgbImg?
Variablennamen schreibt man komplett klein. Benutze keine Abkürzungen (rawImg -> raw_image) oder nichtsagende Nummern. Wenn Du colorplane_red meinst, dann schreib das auch und nicht c1.
Warum überhaupt die for-Schleife? np.concatenate kann in einer angegebenen Dimension konkatenieren.
Beginner2019
User
Beiträge: 17
Registriert: Mittwoch 29. April 2020, 12:27

Danke! Hat sich erledigt, habs geschafft! :-)
naheliegend
User
Beiträge: 439
Registriert: Mittwoch 8. August 2018, 16:42

Dieses Forum ist in dem Sinne herrlich , da durch das strukturierte Aufschreiben des Problems einem selbst oftmals die Lösung einfällt.

Außerdem ist der mentale Aspekt nicht zu unterschätzen. Man ist plötzlich nicht mehr alleine mit einem Problem unterwegs. :D

Ob das der eigentliche Sinn ist / war sei mal dahingestellt, aber so geht es mir oftmals.
__backjack__: "Jemand der VB oder PHP kann, der also was Programmieren angeht irgendwo im negativen Bereich liegt (...)"
Benutzeravatar
__blackjack__
User
Beiträge: 13080
Registriert: Samstag 2. Juni 2018, 10:21
Wohnort: 127.0.0.1
Kontaktdaten:

Das ist ein Phänomen das unabhängig von diesem Forum ist. Die meisten Foren funktionieren auch als Gummiente: https://rubberduckdebugging.com/
„All religions are the same: religion is basically guilt, with different holidays.” — Cathy Ladman
Antworten