現在、ESP32-Camera (AI Thinker) を OpenCV と統合しようとしています。私の限られた理解では、ESP32-Camera は、UART インターフェースを使用した安価で低品質の USB カメラとして扱うことができます (私は 4D System モジュールを使用しています)。したがって、私がする必要があるのは、それをラップトップに接続して、「cap = cv2.VideoCapture(1)」に変更することだけです。VideoCapture(0) はラップトップのカメラです。
しかし、ESP32 カメラからグレースケール フレームを表示する単純なコードを実行すると、代わりに非常に小さなピクセル ドットが表示されました。ESP32 カメラの制限によるものなのか、インターフェイスのせいなのか (点滅モードにしておく必要があるかもしれません) などを確認してもよろしいですか? ここに記載されている記録のためにArduino IDEで試したときにカメラが機能するのでhttps://github.com/jameszah/ESP32-CAM-Video-Recorder。
import numpy as np
import cv2
cap = cv2.VideoCapture(1) # check this
while(True):
# Capture frame-by-frame
ret, frame = cap.read()
# Our operations on the frame come here
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# Display the resulting frame
cv2.imshow('frame', gray)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# When everything done, release the capture
cap.release()
cv2.destroyAllWindows()
ラップトップ カメラからの期待される結果 ESP32 カメラからの実際の結果
これに関して事前に与えられた助けとアドバイスに感謝します。J
よろしく、ジャスティン