LoginSignup
4
1

More than 5 years have passed since last update.

Ricoh camera SDK for .NET,C# のUSB接続カメラ撮影から画像保存まで

Last updated at Posted at 2018-09-10

今回は(英語)http://api.ricoh/docs を参考にしながら一通りの流れについてのまとめをメモ

カメラ接続

Docs : https://api.ricoh/docs/camera-usb-sdk-dotnet/connection/

基本的にここにあるコード、でカメラ接続ができる。

DeviceInterface deviceInterface = DeviceInterface.USB;
List<CameraDevice> detectedCameraDevices = CameraDeviceDetector.Detect(deviceInterface);
CameraDevice cameraDevice = detectedCameraDevices.First();
Response response = cameraDevice.Connect(deviceInterface);

このとき、cameraDeviceインスタンスがカメラ本体と対応している。
このオブジェクトのメソッドの中に、「startCapture(画像を取らせる)」や「ライブビュー開始」といったものがある。
またメンバーには「Images」などの、画像のデータを保管している変数がある。
cameraDeviceのクラスの中身はhttps://api.ricoh/docs/camera-usb-sdk-dotnet/assets/img/Ricoh.CameraController.pngに記載されている

画像の撮影

Docs : https://api.ricoh/docs/camera-usb-sdk-dotnet/capture/
撮影はCameraDevice.StartCapture()で行う。
このメソッドが実行されると、カメラの撮影が行われ、接続されたカメラの中で撮影された画像の保存処理が始まる。

画像の保存

Docs : https://api.ricoh/docs/camera-usb-sdk-dotnet/image-handling/
画像データは、cameraDevice.Imagesに配列で保存されている。
最新の画像データはcameraDevice.Images[0]になっている。
※カメラ内での画像の保存処理が終わっていない場合は前のものが入っている

これをimage.GetData()メソッドを使用して、画像を保存する。
このとき、GetDataメソッドに、画像の保存先となるファイルパス(ファイル名を含む)を指定したFileStreamオブジェクトを渡す

using (FileStream fs = new FileStream(filePath, FileMode.Create, FileAccess.Write)){
    Response imageGetResponse = image.GetData(fs);
}
4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1