今回はWebカメラから画像を読み込んで画像を切り抜く方法を紹介(メモ)します。
前提
バージョン等
- Python 3.6.0
OpenCVのインストール
pip install opencv-python
実装
まずは単純にWebカメラから画像を読み込んで保存
前回の記事と同様にWebカメラにアクセスして画像を取得して保存します。
import cv2 # カメラの起動(0は内蔵カメラが着いている場合は内蔵カメラが起動) cap = cv2.VideoCapture(0) while(True): # 現在の画像の読み込み ret, frame = cap.read() # 読み込んだ画像を表示する cv2.imshow("frame", frame) # qが押されたら止める if cv2.waitKey(60) & 0xFF == ord('q'): # 現時点での画像を保存する cv2.imwrite("test.jpg", frame) break
画像の切り抜き
では、得られた画像を切り抜きます。
先程のコードに切り抜きの操作をするコードを追記します。
(Newの部分です)
import cv2 # カメラの起動(0は内蔵カメラが着いている場合は内蔵カメラが起動) cap = cv2.VideoCapture(0) while(True): # 現在の画像の読み込み ret, frame = cap.read() # 読み込んだ画像を表示する cv2.imshow("frame", frame) # New-------------------------------------------- clipped_frame = frame[0:10, 0:10] cv2.imwrite("clipped_frame.jpg", frame) #------------------------------------------------ # qが押されたら止める if cv2.waitKey(60) & 0xFF == ord('q'): # 現時点での画像を保存する cv2.imwrite("test.jpg", frame) break
切り抜きのコードは次のような形になっています。
frame[y:y+height, x:width]
見てわかる通り、画像を行列として扱いスライスしています。