Raspberry Pi でノクトビジョン、暗視ゴーグルを作った (2)

Raspberry Pi でノクトビジョン、暗視ゴーグルを作った (1)

Raspberry Pi でノクトビジョン、暗視ゴーグルを作った (1) - 黒川文書

のつづき。

[赤外線piCamera] - [raspberryPi] - [7インチモニタ] こんなかんじでつなぎます。

f:id:kurokawanushi:20190324195223p:plain:w300
こんな感じで、7インチモニタに左右の画像を投影します。
視差は考慮しないことにします。
うっすら闇に写っているのは、ぐんまちゃんのぬいぐるみ。 ナイトビジョンにぬいぐるみが映るとホラー映画みたいですんごい怖い。

f:id:kurokawanushi:20190324195334p:plain:w300
スマホ入れる形式のVRゴーグルの形状。 左右の目に対応するレンズが独立してます。

この画面に、VRゴーグルをべったりつければ、画像が目に見えるというわけです。

コード

import cv2
import numpy as np
# for PiCamera
from picamera.array import PiRGBArray
from picamera import PiCamera
import time

# for PiCamera capture
cam = PiCamera()
cam.resolution = (320 , 240)
cam.framerate = 32
rawCapture = PiRGBArray(cam, size=(320, 240))

# init view windows right left
cv2.namedWindow("leftEye")
cv2.namedWindow("rightEye")
cv2.moveWindow("leftEye",50, 150)
cv2.moveWindow("rightEye",425, 150)

time.sleep(0.1)

# capture raw frame from picamera
for frame in cam.capture_continuous(rawCapture, format="bgr", use_video_port=True):
    image = frame.array
    cv2.imshow("leftEye", image)
    cv2.imshow("rightEye",image)

    key = cv2.waitKey(1) & 0xFF
    rawCapture.truncate(0)
    if key == ord("q"):
        break

cv2.destroyAllWindows()

(いらない処理消し忘れてた)

piCameraの映像をrawCaptureするところは以下のサイトを参考にさせて頂きました。

https://www.pyimagesearch.com/2015/03/30/accessing-the-raspberry-pi-camera-with-opencv-and-python/www.pyimagesearch.com

使用した部品や実際の映像は次回のっけます。

kurokawanushi.hatenablog.com