OpenCV kamera sorunu

Merhaba,ben OpenCV’de usb kamera ile video çekmek istiyorum ama şu şekilde bir hata alıyorum:

Kodumda şu şekilde :

Internette stackoverflow vb yerlerde araştırdım ama çözümü bulamadım.Kamera diğer programlarda sorunsuz çalışıyor.

Sizce sorun neyden kaynaklı?

Webcam’den aldığı görüntüyü okuyamıyor. Büyük ihtimal webcam’e bağlanamıyor.

kamera = cv2.VideoCapture(1) kisminda verdiğin parametre değeri cihaza bağlı kameraları seçmeni sağlar. Yani 1 değeri girmen cihazdaki ikincil kamerayı kullanman gerektiğini söyler programa.

kamera = cv2.VideoCapture(0) yaparsan yani sadece 1 yerine 0 yazarsan cihazdaki birincil kamera yani webcamı seçmeni sağlayacaktır. Sıfır yazıp tekrar dene çalışacaktır büyük ihtimal.

Bunu daha önce denemiştim malesef çalışmıyor.

OpenCV konusunda bir bilgim yok ama bu linkteki arkadaş da sizin gibi 215 Assertion Failed hatası almış. Belki kendisine önerilen çözümler size de yardımcı olabilir.

Webcamdan değil de video ile çalışınca da aynı hatayla karşılaşıyor musun?

Hayır bir video çalıştırınca sorun çıkmıyor.

Evet konuya baktım ama hala çalışmıyor.

Şunu çalıştırıp dener misin. Eğer sürekli dosya okunmadı kısmı çalışıyorsa kameradan görüntüyü almadığı ya da bozuk aldığına kesin varmış oluruz. Eğer çalışıyorsa ilk frame’leri alırken sorun olmuş olmalı.

import cv2

cap = cv2.VideoCapture(0)

i = 0

while True:

    ret, frame = cap.read()
    if ret == True:
        cv2.imshow("frame", frame)
    else:
        print("dosya okunmadi - ", i)
        i = i + 1

    if cv2.waitKey(10) & 0xFF == ord("q"):  # her kare arasina 10 milisaniye birakildi q'ya basilinca cikmasi saglandi
        break

cap.release()
cv2.destroyAllWindows()

Denedim sürekli dosya okunamadı diyor.

Bildiğim kadarıyla opencv fonksiyonları içeriği boş olsa bile çalışmaya devam ediyor. Bu yüzden webcamdan alınan görüntü üzerinde işlem yapmadığımız sürece hata almadık.

Kısmında hata oluşuyor ve webcamden görüntüyü alamıyor. Dediklerinden yola çıkarsak webcam sorunsuz çalışıyor.
Arka planda webcam çalışıyorsa bu hatayı alıyor olabilir.
cap = cv2.VideoCapture(0, cv2.CAP_DSHOW).release()
release ile webcamı serbest bırakabilirz. Yukardaki satırı import kısmından sonra ekleyerek tekrar dener misin.
Alttaki şekildeki gibi.

import cv2
cap = cv2.VideoCapture(0, cv2.CAP_DSHOW).release()
cap = cv2.VideoCapture(0, cv2.CAP_DSHOW)

i = 0

while True:

    ret, frame = cap.read()
    if ret == True:
        cv2.imshow("frame", frame)
    else:
        print("dosya okunmadi - ", i)
        i = i + 1

    if cv2.waitKey(10) & 0xFF == ord("q"):  # her kare arasina 10 milisaniye birakildi q'ya basilinca cikmasi saglandi
        break

cap.release()
cv2.destroyAllWindows()
4 Beğeni

Denedim ve çalıştı gerçekten çok teşekkür ederim.Yoksa yeni kamera almayı düşünüyordum.Sayenizde masrafdan kurtuldum. :slightly_smiling_face:

Rica ederim, çalışmalarında başarılar dilerim.

Merhaba,
Aynı kodu denedim. Aşağıdaki hata mesajını aldım. Yardımcı olabilir misiniz?

C:\Users\rapor\PycharmProjects\Ornekler\venv\Scripts\python.exe “C:/Users/rapor/PycharmProjects/Ornekler/Web Cam 5.py”
Traceback (most recent call last):
File “C:\Users\rapor\PycharmProjects\Ornekler\Web Cam 5.py”, line 11, in
cv2.imshow(“frame”, frame)
cv2.error: OpenCV(4.6.0) D:\a\opencv-python\opencv-python\opencv\modules\highgui\src\window.cpp:1267: error: (-2:Unspecified error) The function is not implemented. Rebuild the library with Windows, GTK+ 2.x or Cocoa support. If you are on Ubuntu or Debian, install libgtk2.0-dev and pkg-config, then re-run cmake or configure script in function ‘cvShowImage’

Process finished with exit code 1

Kodunu atarsan yardımcı olmaya çalışabilirim.

Merhaba,
venv oluşturarak çözdüm.
Oysa ki kütüphaneler birebir aynıydı.

Merhabalar. Kodun aynısını çalıştırdım yukardakini. Fakat video halinde çalışmıyor. SÜrekli anlık görüüntü allıyor. Yani penceleri her kapattığımda anlık fotoğraf çekip karşıma çıkıyor. Hareketli bir video oluşturamıyorum. Nedeni sizce nedir?