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.
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.
Ş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()
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()
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’
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?