For n in zip(*loc[::-1]) ne ifade ediyor?

zip(*loc) daki * ne anlama geliyor?

kodun tamamı :

import numpy as np
kamera = cv2.VideoCapture(0)

dusuk = np.array([20,20,10])
yuksek = np.array([35,255,255])

while True:
    ret,kare=kamera.read()
    gri_kare = cv2.cvtColor(kare,cv2.COLOR_BGR2GRAY)
    nesene = cv2.imread("kutu.png",0)
    w,h =nesene.shape
    res = cv2.matchTemplate(gri_kare,nesene,cv2.TM_CCOEFF_NORMED)
    esik_degeri = 0.8
    loc = np.where(res>esik_degeri)

    for n in zip(*loc[::-1]):
        cv2.rectangle(kare,n,(n[0]+h,n[1]+w),(0,255,0),2)
        print(n)




    cv2.imshow("kare",kare)


    if cv2.waitKey(25)& 0xFF==ord("q"):
        break

kamera.release()
cv2.destroyAllWindows()

Kodlarınız anlaşılır şekilde görünmüyor. Aşağıdaki bağlantıda anlatıldığı gibi duzenleyin.

Teşekkürler Düzenledim

loc bir liste. * İşareti loc listesi içerisindeki her elemanın ayrı ayrı sırasıyla zip fonksiyonuna parametre olarak girmesini sağlıyor. Ben öyle anladım.

1 Beğeni

x[::-1] x'i ters ceviriyor
f(*x) x'in her elemanini ayri bir parametre olarak pasliyor
zip(x) ise aldigi listeleri¹ [(birinci elemanlar), (ikinci elemanlar), …] seklinde bir demet listesine¹ donusturuyor.

loc'un cok boyutlu bir matris oldugunu varsayarsak, kod ilk iki boyutu transpoze ediyor, matrisi 90 derece ceviriyor.


1: aslinda iterable

2 Beğeni

teşekkürker çok yardımcı oldun