Seite 1 von 1

Werte in Tuple auslesen und Variablen zuweisen

Verfasst: Samstag 5. Mai 2018, 20:20
von markjohannes
Um mit opencv (cv2), Templates in Bildern suchen habe ich folgenden for-Schleife programmiert:

for pt in zip(*loc[::-1]):

Jetzt ist pt eine Tuple und zeigt folgendes an, wenn ich print(pt) ausführe:
(1008, 230)
(1009, 230)
(1010, 230)

Mein ertse Frage ist, ob alle Werte auf der Linken Seite eim Wert für die Tuple ist, denn wenn ich v=np.array(pt)
eingebe und dann print(v[1:), sind die linken Werte verschwunden.

Meine eigentliche Frage ist, wie ich den Wrtz 1010 der Variablen x zuweisen kann und den Wert 230 der Variablen y.

Mit freundlichen Grüßen
Johannes Schaffer

Re: Werte in Tuple auslesen und Variablen zuweisen

Verfasst: Samstag 5. Mai 2018, 20:36
von Sirius3
@markjohannes: natürlich ist bei `pt[1:]` der linke Wert verschwunden, weil Du nur Werte ab Index 1 ausgibst. Was Du brauchst ist Tuple-Unpacking:

Code: Alles auswählen

for x, y in zip(*loc[::-1]):
    print(x, y)

Re: Werte in Tuple auslesen und Variablen zuweisen

Verfasst: Samstag 5. Mai 2018, 21:27
von markjohannes
Okay vielen Dank für die schnelle Antwort.
Wenn ich das durchführe, habe ich für x und y jeweils drei Werte. Wie kann ich für x nur den letzen behalten?

LG Johannes

Re: Werte in Tuple auslesen und Variablen zuweisen

Verfasst: Samstag 5. Mai 2018, 21:32
von Sirius3
Du hast eine Schleife. Also jeweils nur einen Wert. Wenn Du nur den letzten Wert willst, dann brauchst Du keine Schleife, sondern mußt nur den 0. Index wählen.

Re: Werte in Tuple auslesen und Variablen zuweisen

Verfasst: Sonntag 6. Mai 2018, 14:07
von markjohannes
Oh okay. Und wie mache ich das? Ich kann mir zip(*loc[::-1]) nicht ausgeben lassen.

LG Johannes

Re: Werte in Tuple auslesen und Variablen zuweisen

Verfasst: Sonntag 6. Mai 2018, 14:11
von markjohannes
Also ich weiß, wie man das mit Arrays macht, aber dies ist kein Array.

Re: Werte in Tuple auslesen und Variablen zuweisen

Verfasst: Sonntag 6. Mai 2018, 15:35
von kbr
@markjohannes: damit Dein Code zusammen mit dem Beispieloutput Sinn ergibt, muß loc eine Sequenz von Sequenzen sein. In der ersten Sequenz stehen die y-Werte, in der zweiten die x-Werte. An das letzte x gelangst Du dann mit

Code: Alles auswählen

x = loc[1][-1]
(ungetestet)