Skip to main content

reTerminalとPiカメラをOpenCVで始める

はじめに

このチュートリアルでは、新しくインストールしたRaspberry Pi OS BullseyeまたはBookWorm OSでreTerminalをセットアップするプロセスをガイドします。私たちの目標は、PiCamと相互作用し、OpenCVライブラリを使用して画像処理とディープラーニング活動を実行することです。

OpenCV

OpenCV (Open Source Computer Vision Library): OpenCVは、リアルタイムコンピュータビジョンタスク用に設計された強力でオープンソースのコンピュータビジョンライブラリです。画像や動画を扱うための包括的なツールと機能のセットを提供し、画像処理、物体検出、顔認識などのタスクのソリューションを提供します。学術界と産業界の両方で広く使用されているOpenCVは、さまざまなプログラミング言語をサポートしており、異なるプラットフォーム間でのコンピュータビジョンアプリケーションにとって汎用的な選択肢となっています。その柔軟性と豊富なドキュメントにより、コンピュータビジョン開発に携わる誰にとっても貴重なリソースとなっています。

始める

このプロジェクトを開始する前に、ここで説明されているように、事前にハードウェアとソフトウェアを準備する必要があります。

ハードウェアの準備

ソフトウェアの準備

公式ウェブサイトから Raspberry Pi 64 bit OS の Bullseye バージョンまたは Bookworm バージョンをインストールすることをお勧めします。新しい Raspbian OS をインストールしたい場合は、このガイドに記載されている手順に従ってください。

OpenCV のインストール

詳細なインストールプロセスはスキップしても構いません。ショートカットをご用意しています。Bullseye OS を使用している場合は、以下の簡単な手順に従ってください:

  • ステップ 1 まず、次のようにこの Git リポジトリを Raspberry Pi にクローンします
git clone https://github.com/Seeed-Studio/Seeed_Python_ReTerminal
  • ステップ 2 次に、私たちのスクリプトを使用して、必要なPythonパッケージを簡単にインストールし、EfficientDet-Liteモデルをダウンロードします。このフォルダに移動してください。
cd Seeed_Python_ReTerminal/samples/Opencv_and_piCam/ObjectDetection
  • ステップ 3 このスクリプトは必要な依存関係をインストールし、このチュートリアルシリーズ用のTFLiteモデルをダウンロードします。
sh setup.sh

Bookworm OSを使用している場合は、以下の手順に従ってください:

  • ステップ 1 ターミナルで以下のコマンドを実行してインストールします
sudo apt-get install libopencv-dev python3-opencv
  • Step 2 Next, clone this Git repo onto your Raspberry Pi like this
git clone https://github.com/Seeed-Studio/Seeed_Python_ReTerminal

ビデオストリームを取得する

新しいターミナルウィンドウで Opencv_and_piCam に移動します

cd Seeed_Python_ReTerminal/samples/Opencv_and_piCam

このチュートリアルでは、reTerminal上でPiCamとOpenCVを使用した「Hello World」プログラムから始めます。クローンしたリポジトリ内でcaptureimages.pyファイルを見つけることができます。ライブビデオストリームを探索し、「q」を押すとストリームが正常に停止します。Thonny IDEを使用してPythonスクリプトを実行することもできます。

python captureimages.py

以下のようなビデオストリームが表示されます。

参考のため、便宜上完全なコードスニペットを提供します。

import cv2
from picamera2 import Picamera2
picam2 = Picamera2()
picam2.preview_configuration.main.size = (1280,720)
picam2.preview_configuration.main.format = "RGB888"
picam2.preview_configuration.align()
picam2.configure("preview")
picam2.start()
while True:
im= picam2.capture_array()
cv2.imshow("Camera", im)
if cv2.waitKey(1)==ord('q'):
break
cv2.destroyAllWindows()

写真を撮影して保存する

ここでは、ReTerminal上でPiCamとOpenCVを使用して静止画像を撮影します。クローンしたリポジトリ内のsaveimage.pyファイルを見つけてください。ライブビデオをストリーミングし、's'を押すと写真が撮影されます。Thonny IDEを使用してPythonスクリプトを実行することもできます。

python saveimage.py

同じディレクトリにキャプチャされた画像が見つかります。

参考のため、便宜上完全なコードスニペットを提供します。

import cv2
from picamera2 import Picamera2

picam2 = Picamera2()
picam2.preview_configuration.main.size = (1280, 720)
picam2.preview_configuration.main.format = "RGB888"
picam2.preview_configuration.align()
picam2.configure("preview")
picam2.start()

try:
while True:
im = picam2.capture_array()
cv2.imshow("Camera", im)

# Save an image when a key is pressed (e.g., 's')
key = cv2.waitKey(1)
if key == ord('s'):
# Save the image using OpenCV
cv2.imwrite("captured_image.jpg", im)
print("Image saved!")

# Exit the loop when 'q' is pressed
elif key == ord('q'):
break

finally:
# Release resources
cv2.destroyAllWindows()
picam2.stop()
picam2.close()

技術サポート

弊社製品をお選びいただき、ありがとうございます!お客様の製品体験を可能な限りスムーズにするため、さまざまなサポートを提供いたします。異なる好みやニーズに対応するため、複数のコミュニケーションチャネルをご用意しております。

Loading Comments...