Raspberry Pi 公式カメラモジュールで撮影するには raspistill か raspivid というコマンドを使うことになっていますが、どういうわけだか、自作アプリでプログラム的に画像を取り込む情報が非常に少なくて困ります。
USBカメラであれば、OpenCVを使ったプログラムで、比較的簡単に画像を取り込むことができます。筆者が作成したプログラムを参考にしてください。
これと同じ事を、公式カメラモジュールで行いたいというわけです。
その方法を紹介します。
※紹介するといっても、偉大なる先人の成果を紹介するだけですが。
参考:Raspberry Pi3でカメラモジュールをOpenCVで使う
前述の筆者が作成したプログラムは、C++とQtで使ったもので、これをコンパイルするには、 qt-sdk を初めとした開発環境をインストールしておきます。それに加え libopencv-dev も必要です。
apt-get install libv4l-dev qt-sdk libopencv-dev
libv4l-devにはbcm2835-v4l2というモジュールが含まれています。これをmodprobeコマンドで読み込むか、/etc/modulesに記述して再起動します。
モジュールが正しく読み込まれると、USBカメラ用に作成したOpenCVを使ったプログラムが、変更なしにそのまま実行できます。