Cv2.error: OpenCV(4.7.0) hatası

Selamlar,
Pythonda webcam ile renk tanıma sistemi yapıcam. Kodu internette buldum gördüğüm yerde sorunsuz çalışıyordu fakat kendi bilgisayarımda çalıştırınca şöyle bir hata alıyorum.


Kodu da paylaşıyorum bi yardımcı olur musunuz nerede hata var neyi düzeltmem gerekiyor?


Kod da bu şekilde

Galiba yanlış hatırlamıyorsam cv2.COLOR_BGR2HSV komutu görüntünün siyah beyaz olmasını sağlıyor. Bu da mantık hatasının hata kodunda diyor zaten renk kısmında boş değer dönüyor diye

Düzeltmek için kodu nasıl değiştirmem gerekiyor?

import cv2
import numpy as np
 self.cap = self.bridge.imgmsg_to_cv2(mesaj, "bgr8") #Bu komut satırı image mesajını bir opencv 'cv::Mat tipine dönüştürür.
        
        # These lines of code do red area detection (Bu kod satırları kırmızı alan tespiti yapar)
        #lower_red, upper_red komutları
        lower_red = np.array([0,50,50]) 
        upper_red = np.array([10,255,255])
        
        hsv = cv2.cvtColor(self.cap, cv2.COLOR_BGR2HSV)
    
        mask = cv2.inRange(hsv, lower_red, upper_red)
        mask = cv2.erode(mask, (5, 5), iterations=9)
        mask = cv2.medianBlur(mask, 7)
        mask = cv2.morphologyEx(mask, cv2.MORPH_OPEN, (5, 5))
        mask = cv2.dilate(mask, (5, 5), iterations=1)

        _, thresh = cv2.threshold(mask, 127, 255, cv2.THRESH_BINARY)
    
        cnts,_ = cv2.findContours(thresh, mode=cv2.RETR_TREE, method=cv2.CHAIN_APPROX_SIMPLE)

        frame_merkez_x = self.cap.shape[1]/2
        frame_merkez_y = self.cap.shape[0]/2

Bu kodu bir incelemenizi tavsiye ederim bir de ekstra internetten de biraz araştırın yine takılırsanız yardımcı olmaya çalışırım

Valla hala sorunu çözemedim tam olarak oradaki kodu ne ile değiştirmem gerektiğini anlamadım.

Oncelikle bkz: Soru Sorarken Sıkça Düşülen Hatalar #4

Read’in dondurdugu tuple’in ilk degerine bakmiyorsunuz. Ikinci deger bos olabiliyor.

Hata mesajınızdan source is empty hatası alıyorsunuz.

Kaynağınız ne? Kamera mı?

cap= cv2.VideoCapture(0)

ile görüntü alamıyorsunuz.

Bunun bir kaç nedeni olabilir. Varsayılan kamaeranız yok, varsayılan kameranız kapalı, varsayılan kameranızın sürücüleri yüklü değil.

Ne tür bir kamera kullandığınıza göre bu durum değişir. Hele ki harici bir adresteki bir kamera kullanıyorsanız adresini çok dikkatli yazmalısınız.

Kameranızln çalıştığını, uygulamara erişiminin açık olduğunu kontrol edin.

Nasıl yani tam anlayamadım valla

Aynen bilgisayar Webcam’i ama şuan webcami olmayan bir pcde kodu deniyorum. Webcam olmadığı için hata verir mi? Webcam olan bir bilgisayarda denesem sorun çözülür mü? Elimin altında bi webcam yok o yüzden deneyememiştim.

Bir nedeni de kameranin henuz kayda baslamamis olmasi. Yani her sey calisan bir sistemde de bos frame gelebiliyor arada, her halukarda kontrol etmek lazim.

Evet sorun bu webcam olsa kodun çalışır