Python コードで Raspberry Pi カメラ モジュール 3 を使用する方法
Picamera2 ライブラリを使用して制御します。
Raspberry Pi には最高のアクセサリが数多くあり、そのリストに必ず登場するのが新しい Camera Module 3 です。Raspberry Pi Camera Module 3 のレビューでは、高速オートフォーカスと HDR 画像が気に入っており、今後も使い続けたいと述べました。この方法では、これらの機能を共有します。
これまでに Raspberry Pi カメラを使用したことがない場合、Picamera2 の初心者ガイドは、Pi で素晴らしい写真を撮るための優れた入門書となります。 このハウツーでは、Picamera2 で Camera Module 3 のフォーカス システムを使用できるさまざまな方法を検討し、プロセスを自動化する迅速でシンプルなスクリプトを使用して HDR 画像を撮影する方法を学びます。 Python が苦手な場合は、ターミナル経由で libcamera を使用してカメラ モジュール 3 を制御することもできます。
オートフォーカスには 3 つの動作モードがあります。
連続フォーカスでは、アルゴリズムを使用して画像ストリーム内でターゲットを検索します。 ターゲットが近く(約 10cm)にあるか、遠くにあるかは関係なく、アルゴリズムがターゲットを見つけてロックオンします。 しかし、それをどのように使用するのでしょうか? 簡単なテストを実行してみましょう。 連続フォーカス モードを使用して、ターゲットに可能な限り最適な焦点を合わせます。 カメラにかざせる物があると便利です。ここでは 1 ドル紙幣を使用しました。
1.メインメニューから「プログラミング」>>「Thonny」を開きます。
2.Picamera2をインポートします。
3.libcamera のコントロール クラスをインポートします。これにより、要件に合わせてカメラを設定できます。
4.オブジェクト picam2 を作成するこれをコードとカメラの間のリンクとして使用します。
5.プレビュー ウィンドウを開始します。プレビューでは、カメラの出力が表示されます。
6.AfMode(オートフォーカスモード)を連続的に設定します。
7。コードを AFtest.py として保存します。
8.「実行」をクリックしてコードを開始します。プレビューウィンドウが表示されます。 オブジェクトを移動し、フレームの周りで 1 ドル紙幣を選択し、焦点が移動するのを観察します。 オブジェクトをレンズに近づけてみてください。最も近い焦点は 10 センチメートルであることを覚えておいてください。
素晴らしいショットを撮るためには、固定焦点が必要な場合があります。 結局のところ、ぼやけた混乱を撮影したくないのです。 フォーカスを修正するのは比較的簡単です。 実際、これは非常に簡単なので、前の例のコードのほとんどを再利用できます。
1.名前を付けて保存を使用する前の例では、to ManualFocusTest.py という名前の新しいファイルを作成します。
2.LensPosition を使用するように最後の行を変更します。, この場合、無限フォーカスの値を 0.0 に設定します。
3.コードを実行します。遠くの物体では焦点が鮮明ですが、近くではぼやけていることに注目してください。
4.LensPosition の値を 0.5 に変更します。これにより、焦点距離は約 50 cm になります。
5.コードを保存して実行します。オブジェクトをカメラに向かって、またはカメラから遠ざけるように移動します。 50 cm 付近で焦点が鮮明になることに注目してください。
鳥カメラであれ、学校の運動会であれ、ホームセキュリティであれ、時には一連の鮮明な画像を取得する必要があります。 幸いなことに、カメラ モジュール 3 を設定して一連の高速画像を撮影し、オートフォーカスを高速に設定することができます。
1.AfFastFocus.py という名前の新しいファイルを作成します。
2.Picamera2をインポートします。
3.libcamera のコントロール クラスをインポートします。これにより、要件に合わせてカメラを設定できます。
4.オブジェクト picam2 を作成するこれをコードとカメラの間のリンクとして使用します。
5.プレビュー ウィンドウを開始します。プレビューでは、カメラの出力が表示されます。
6.オートフォーカス モードを連続に設定し、AfSpeed を高速に設定します。
7。3 つのファイルをキャプチャするようにカメラを設定し、各ショットの間に 0.5 秒の遅延を設けます。ファイル名「fastfocus.jpg」では、各ファイルに 0、次に 1、2 が追加されます。 番号順に 3 つのファイルを提供します。