今回は、手順1番目のPiCameraから画像の取り込みについてです。
1.PiCameraから画像の取り込み
2.オリジナル画像から作業領域をクロップ
3.画像をBGRからHSVへ変換
4.OpenCV – inRangeで画像を2値化
5.OpenCV – cannyによるエッジ検出
6.region of interest(注目する領域)を設定
7.OpenCV – HoughLinesPによる直線の検出
一般的にpythonからPicameraを制御するためにはpicameraパッケージを使います。
【プログラム例】
import time
import picamera
# 写真の保存場所
CAM_DIR = "/home/pi/picar-x/Picamera/"
with picamera.PiCamera() as camera:
while True:
try:
camera.resolution = (640, 480)
camera.start_preview()
time.sleep(2)
filename = time.strftime("%Y%m%d%H%M%S") + ".jpg"
save_dir_filename = CAM_DIR + filename
camera.capture(save_dir_filename)
except KeyboardInterrupt:
print("Ctrl+Cで停止しました")
break
しかしここでは、画像・動画に関する処理機能をまとめたOpenCVライブラリと、画像処理ユーティリティーのimutilsモジュールをそれぞれインストールして使いました。pip install opencv-contrib-python
pip install imutils
【プログラム例】
import cv2
import time
from imutils.video import VideoStream
from imutils import resize
# 写真の保存場所
CAM_DIR = "/home/pi/picar-x/Picamera/"
vs = VideoStream(src=0).start()
while True:
try:
# ファイルの取込
img = vs.read()
image = resize(img, width=640)
filename = time.strftime("%Y%m%d%H%M%S") + ".jpg"
save_dir_filename = CAM_DIR + filename
cv2.imwrite(save_dir_filename,image)
except KeyboardInterrupt:
print("Ctrl+Cで停止しました")
break
0 件のコメント:
コメントを投稿