2017-12-24 10 views
0

PiCameraを使用したRaspberry PIでCV2を使用する際に問題があります。これは私のコードです:PiCameraとCV2 imdecodeは常に返されません。

camera = PiCamera() 
camera.resolution = (320, 240) 
camera.framerate = 60 
rawCapture = PiRGBArray(camera, size=(320, 240)) 
time.sleep(1) 
start = time.time() 

for frame in camera.capture_continuous(rawCapture, format="bgr", use_video_port=True): 


    # and occupied/unoccupied text 
    images = frame.array 

    # show the frame 
    cv2.imshow("Frame", images) 


    cv_img = images.astype(np.uint8) 

    gray = cv2.imdecode(np.fromstring(cv_img, dtype=np.uint8), cv2.IMREAD_GRAYSCALE) 
    image = cv2.imdecode(np.fromstring(cv_img, dtype=np.uint8), cv2.IMREAD_UNCHANGED) 

    print("IMAGE: ",image) 
    print("GRAY: ",gray) 

画像とcv_imageには正しいフレームが含まれていますが、画像とグレーは常になしです。なぜそれがうまくいかないのか分かりません。私を助けてください。

ありがとうございます。

+0

あなたが呼び出すすべての関数の戻り状況をチェックするのに適したコードを追加してみてください。なぜ何もチェックしなくてももう何も働かないのですか? –

+0

私はすでにすべてを確認しました – Marcoc

答えて

0

picamaracv2の間をブリッジする信頼できる方法としてpicamera.arrayが見つかりました。 docsにはあなたから遠くないいくつかの例があります。

あなたはcv2領土に真正面だ後は、

gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY) 

は、階調変換を行うための一般的な方法です。 imdecodeで行うのは大変です。

+0

それは働いた!ありがとうございました! – Marcoc

関連する問題