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: 18375
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: 14336
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/
„Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.“ — Brian W. Kernighan
Antworten