Capture Settings

This page describes how to set and get various capture settings of connected camera device using RICOH Camera Wireless SDK.

Contents

Supported Capture Settings

Core Class

The core class of capture settings is:

CaptureSetting

  • The CaptureSetting class represents various capture settings of camera devices.
  • Supported capture settings are provided as derived classes of the CaptureSetting class.

Basic Usage

All the supported capture settings have corresponding classes derived from the CaptureSetting class. This section shows you how to use manage individual capture settings using the classes. You can also manage multiple capture settings at the same time. Code examples in this section show how to manage aperture value but you can manage other settings in similar ways.

Get Individual Capture Settings

Follow the steps below to get current value of specified capture setting.

  1. Generate an object of the class corresponding to the capture setting you want
  2. Use the getCaptureSettings method with the object.

The following example shows how to get current aperture value using FNumber object

FNumber fNumber = new FNumber();
Response response =
    cameraDevice.getCaptureSettings(Arrays.asList((CaptureSetting)fNumber));
if (response.getResult() == Result.OK) {
    System.out.printf("Current Value: %s%n", fNumber.toString());
}

List Available Setting Values

Follow the steps below to get a list of available values for individual capture settings.

  1. Generate an object of the class corresponding to the capture setting you want
  2. Use the getCaptureSettings method with the object
  3. Use the getAvailableSettings method of the object

The following example shows how to get a list of available aperture values using FNumber object.

FNumber fNumber = new FNumber();
cameraDevice.getCaptureSettings(Arrays.asList((CaptureSetting)fNumber);
if (response.getResult() == Result.OK) {
  List<CaptureSetting> availableList = fNumber.getAvailableSettings();
  for (CaptureSetting setting: availableList) {
      System.out.printf("Available Setting: %s%n", setting.toString());
  }
}

Set Individual Capture Setting

Follow the steps below to set value of specified capture setting.

  1. Select a class and its field corresponding to the value you want to set
  2. Use the setCaptureSettings method with the field

The following example shows how to set the aperture value to 5.6 using FNumber object.

FNumber fNumber = FNumber.F5_6;
Response response =
    cameraDevice.setCaptureSettings(Arrays.asList((CaptureSetting)fNumber));

Get Multiple Capture Settings

The following example shows how to get shutter speed and exposure compensation value at the same time.

ShutterSpeed shutterSpeed = new ShutterSpeed();
ExposureCompensation exposureCompensation = new ExposureCompensation();
Response response =
    cameraDevice.getCaptureSettings(
        Arrays.asList(shutterSpeed, exposureCompensation));

Set Multiple Capture Settings

The following example shows how to set shutter speed and exposure compensation value at the same time.

ShutterSpeed shutterSpeed = ShutterSpeed.SS1_80;
ExposureCompensation exposureCompensation = ExposureCompensation.EC0_3;
Response response =
    cameraDevice.setCaptureSettings(
        Arrays.asList(shutterSpeed, exposureCompensation));

Aperture Value

Use the FNumber class to set and get aperture values.

Get the Current Value & List Available Values

The following example shows how to get current aperture value using FNumber object. Use the getAvailableSettings method of the FNumber class to get a list of available aperture values.

FNumber fNumber = new FNumber();
Response response =
    cameraDevice.getCaptureSettings(Arrays.asList((CaptureSetting)fNumber));
if (response.getResult() == Result.OK) {
    List<CaptureSetting> availableList = fNumber.getAvailableSettings();
}

Set Value

The following example demonstrates how to set aperture value to 5.6 using FNumber object.

FNumber fNumber = FNumber.F5_6;
Response response =
    cameraDevice.setCaptureSettings(Arrays.asList((CaptureSetting)fNumber));

Exposure Compensation

Use the ExposureCompensation class to set and get exposure compensation values.

Get the Current Value & List Available Values

The following example shows how to get current exposure compensation value using ExposureCompensation object. Use the getAvailableSettings method of the ExposureCompensation class to get a list of available exposure compensation values.

ExposureCompensation exposureCompensation = new ExposureCompensation();
Response response =
    cameraDevice.getCaptureSettings(
        Arrays.asList((CaptureSetting)exposureCompensation));
if (response.getResult() == Result.OK) {
    List<CaptureSetting> availableList =
        exposureCompensation.getAvailableSettings();
}

Set Value

The following example demonstrates how to set exposure compensation to +0.3EV using ExposureCompensation object.

ExposureCompensation exposureCompensation = ExposureCompensation.EC0_3;
Response response =
    cameraDevice.setCaptureSettings(
        Arrays.asList((CaptureSetting)exposureCompensation));

ISO Sensitivity Value

Use the ISO class to set and get ISO sensitivity values.

Get the Current Value & List Available Values

The following example shows how to get current ISO sensitivity value using ISO object. Use the getAvailableSettings method of the ISO class to get a list of available ISO sensitivity values.

ISO iso = new ISO();
Response response =
    cameraDevice.getCaptureSettings(Arrays.asList((CaptureSetting)iso));
if (response.getResult() == Result.OK) {
    List<CaptureSetting> availableList = iso.getAvailableSettings();
}

Set Value

The following example demonstrates how to set ISO sensitivity value to ISO400 using ISO object.

ISO iso = ISO.ISO400;
Response response =
    cameraDevice.setCaptureSettings(Arrays.asList((CaptureSetting)iso));

White Balance

Use the WhiteBalance class to set and get white balance values.

Get the Current Value & List Available Values

The following example shows how to get current white balance value using WhiteBalance object. Use the getAvailableSettings method of the WhiteBalance class to get a list of available white balance values.

WhiteBalance whiteBalance = new WhiteBalance();
Response response =
    cameraDevice.getCaptureSettings(
        Arrays.asList((CaptureSetting)whiteBalance));
if (response.getResult() == Result.OK) {
    List<CaptureSetting> availableList = whiteBalance.getAvailableSettings();
}

Set Value

The following example demonstrates how to set white balance to daylight using WhiteBalance object.

WhiteBalance whiteBalance = WhiteBalance.DAYLIGHT;
Response response =
    cameraDevice.setCaptureSettings(
        Arrays.asList((CaptureSetting)whiteBalance));

Shutter Speed

Use the ShutterSpeed class to set and get shutter speed values.

Get the Current Value & List Available Values

The following example shows how to get current shutter speed value using ShutterSpeed object. Use the getAvailableSettings method of the ShutterSpeed class to get a list of available shutter speed values.

ShutterSpeed shutterSpeed = new ShutterSpeed();
Response response =
    cameraDevice.getCaptureSettings(
        Arrays.asList((CaptureSetting)shutterSpeed));
if (response.getResult() == Result.OK) {
    List<CaptureSetting> availableList = shutterSpeed.getAvailableSettings();
}

Set Value

The following example demonstrates how to set shutter speed to 1/80 using ShutterSpeed object.

ShutterSpeed shutterSpeed = ShutterSpeed.SS1_80;
Response response =
    cameraDevice.setCaptureSettings(
        Arrays.asList((CaptureSetting)shutterSpeed));

Custom Image

Use the CustomImage class to set and get custom image values.

Get the Current Value & List Available Values

The following example shows how to get current custom image value using CustomImage object. Use the getAvailableSettings method of the CustomImage class to get a list of available custom image values.

CustomImage customImage = new CustomImage();
Response response =
    cameraDevice.getCaptureSettings(
        Arrays.asList((CaptureSetting)customImage));
if (response.getResult() == Result.OK) {
    List<CaptureSetting> availableList = customImage.getAvailableSettings();
}

Set Value

The following example demonstrates how to set custom image to landscape using CustomImage object.

CustomImage customImage = CustomImage.LANDSCAPE;
Response response =
    cameraDevice.setCaptureSettings(Arrays.asList((CaptureSetting)customImage));

Digital Filter

Use the DigitalFilter class to set and get digital filter values.

Get the Current Value & List Available Values

The following example shows how to get current digital filter value using DigitalFilter object. Use the getAvailableSettings method of the DigitalFilter class to get a list of available digital filter values.

DigitalFilter digitalFilter = new DigitalFilter();
Response response =
    cameraDevice.getCaptureSettings(
        Arrays.asList((CaptureSetting)digitalFilter));
if (response.getResult() == Result.OK) {
    List<CaptureSetting> availableList = digitalFilter.getAvailableSettings();
}

Set Value

The following example demonstrates how to set digital filter to toy camera using DigitalFilter object.

DigitalFilter digitalFilter = DigitalFilter.TOY_CAMERA;
Response response =
    cameraDevice.setCaptureSettings(
        Arrays.asList((CaptureSetting)digitalFilter));

Still Image Capture Format

Use the StillImageCaptureFormat class to set and get still image capture format values.

Get the Current Value & List Available Values

The following example shows how to get current still image capture format value using StillImageCaptureFormat object. Use the getAvailableSettings method of the StillImageCaptureFormat class to get a list of available still image capture format values.

StillImageCaptureFormat stillImageCaptureFormat = new StillImageCaptureFormat();
Response response =
    cameraDevice.getCaptureSettings(
        Arrays.asList((CaptureSetting)stillImageCaptureFormat));
if (response.getResult() == Result.OK) {
    List<CaptureSetting> availableList =
        stillImageCaptureFormat.getAvailableSettings();
}

Set Value

The following example demonstrates how to set still image capture format to RAW(DNG) using StillImageCaptureFormat object.

StillImageCaptureFormat stillImageCaptureFormat = StillImageCaptureFormat.DNG;
Response response =
    cameraDevice.setCaptureSettings(
        Arrays.asList((CaptureSetting)stillImageCaptureFormat));

Still Image Quality

Use the StillImageQuality class to set and get still image quality values.

Get the Current Value & List Available Values

The following example shows how to get current still image quality value using StillImageQuality object. Use the getAvailableSettings method of the StillImageQuality class to get a list of available still image quality values.

StillImageQuality stillImageQuality = new StillImageQuality();
Response response =
    cameraDevice.getCaptureSettings(
        Arrays.asList((CaptureSetting)stillImageQuality));
if (response.getResult() == Result.OK) {
    List<CaptureSetting> availableList =
        stillImageQuality.getAvailableSettings();
}

Set Value

The following example demonstrates how to set still image quality to “Recorded Pixels”:Large and “Quality Level”:Best using StillImageQuality object.

StillImageQuality stillImageQuality = StillImageQuality.LARGE_BEST;
Response response =
    cameraDevice.setCaptureSettings(
        Arrays.asList((CaptureSetting)stillImageQuality));

Movie Capture Format

Use the MovieCaptureFormat class to set and get movie capture format values.

Get the Current Value & List Available Values

The following example shows how to get current movie capture format value using MovieCaptureFormat object. Use the getAvailableSettings method of the MovieCaptureFormat class to get a list of available movie capture format values.

MovieCaptureFormat movieCaptureFormat = new MovieCaptureFormat();
Response response =
    cameraDevice.getCaptureSettings(
        Arrays.asList((CaptureSetting)movieCaptureFormat));
if (response.getResult() == Result.OK) {
    List<CaptureSetting> availableList =
        movieCaptureFormat.getAvailableSettings();
}

Set Value

The following example demonstrates how to set movie capture format to “Still Image Size”:FullHD and “Frame Rate”:60i using MovieCaptureFormat object.

MovieCaptureFormat movieCaptureFormat = MovieCaptureFormat.FULLHD60I;
Response response =
    cameraDevice.setCaptureSettings(
        Arrays.asList((CaptureSetting)movieCaptureFormat));