多分これは Thinkpad 買うときにIRカメラつけた人だけ起こる問題。
import cv2 cap = cv2.VideoCapture(0) while 1: ret, img = cap.read() cv2.imshow('img', img) k = cv2.waitKey(30) & 0xff if k == 27: break cap.release() cv2.destroyAllWindows()
このプログラムでビデオキャプチャしようと思ったら何故か緑色の画面が出てきた
実はこれカメラじゃなくて、IRカメラが動いています。その証拠にプログラム実行中はカメラの横の赤いLEDが光っていると思います。
で、これの解決方法は簡単で、
cap = cv2.VideoCapture(1)
とすれば直ります。
要は、この cv2.VideoCapture(0)
の 0
は /dev/video0
を指していて、video0はIRカメラになっているので、 /dev/video1
は普通のカメラなのでそっち指定してあげればいいだけの話
これに気づかなくて30分くらい消費した。
あ ほ く さ