Developer World
Spresense Arduino Library v3.2.0-77d75a4
Camera Library API

API for using Camera. More...

Collaboration diagram for Camera Library API:

Modules

 Camera Image size definitions
 Camera Image size definition.
 
 Camera ISO Sensitivity parameter definitions
 Camera ISO Sensitivity parameter definitions.
 

Classes

class  ImgBuff
 [en] Camera Image memory management class. This is internal class.
[ja] Cameraのイメージメモリ管理用クラス。内部利用Class。 More...
 
class  CamImage
 [en] The class which is to control Image from Camera.
[ja] Cameraから得られる画像データを利用するためのクラス。 More...
 
class  CameraClass
 [en] The class to control Spresense Camera.
[ja] SpresenseのCamera機能を制御するためのクラス。 More...
 

Enumerations

enum  CAM_IMAGE_PIX_FMT {
  CAM_IMAGE_PIX_FMT_RGB565 = V4L2_PIX_FMT_RGB565 , CAM_IMAGE_PIX_FMT_YUV422 = V4L2_PIX_FMT_UYVY , CAM_IMAGE_PIX_FMT_JPG = V4L2_PIX_FMT_JPEG , CAM_IMAGE_PIX_FMT_GRAY ,
  CAM_IMAGE_PIX_FMT_NONE
}
 [en] Camera Image Pixcel format
[ja] Camera画像のピクセルフォーマット More...
 
enum  CamErr {
  CAM_ERR_SUCCESS = 0 , CAM_ERR_NO_DEVICE = -1 , CAM_ERR_ILLEGAL_DEVERR = -2 , CAM_ERR_ALREADY_INITIALIZED = -3 ,
  CAM_ERR_NOT_INITIALIZED = -4 , CAM_ERR_NOT_STILL_INITIALIZED = -5 , CAM_ERR_CANT_CREATE_THREAD = -6 , CAM_ERR_INVALID_PARAM = -7 ,
  CAM_ERR_NO_MEMORY = -8 , CAM_ERR_USR_INUSED = -9 , CAM_ERR_NOT_PERMITTED = -10
}
 [en] Camera Error Codes.
[ja] Cameraのエラーコード More...
 
enum  CAM_DEVICE_TYPE { CAM_DEVICE_TYPE_UNKNOWN , CAM_DEVICE_TYPE_ISX012 , CAM_DEVICE_TYPE_ISX019 }
 [en] Camera device type which is being used
[ja] 使用されているカメラデバイスの種類 More...
 
enum  CAM_WHITE_BALANCE {
  CAM_WHITE_BALANCE_AUTO = V4L2_WHITE_BALANCE_AUTO , CAM_WHITE_BALANCE_INCANDESCENT = V4L2_WHITE_BALANCE_INCANDESCENT , CAM_WHITE_BALANCE_FLUORESCENT = V4L2_WHITE_BALANCE_FLUORESCENT , CAM_WHITE_BALANCE_DAYLIGHT = V4L2_WHITE_BALANCE_DAYLIGHT ,
  CAM_WHITE_BALANCE_FLASH = V4L2_WHITE_BALANCE_FLASH , CAM_WHITE_BALANCE_CLOUDY = V4L2_WHITE_BALANCE_CLOUDY , CAM_WHITE_BALANCE_SHADE = V4L2_WHITE_BALANCE_SHADE
}
 [en] Camera White Balance setting parameters
[ja] Cameraホワイトバランス設定値 More...
 
enum  CAM_SCENE_MODE {
  CAM_SCENE_MODE_NONE = V4L2_SCENE_MODE_NONE , CAM_SCENE_MODE_BACKLIGHT = V4L2_SCENE_MODE_BACKLIGHT , CAM_SCENE_MODE_BEACH_SNOW = V4L2_SCENE_MODE_BEACH_SNOW , CAM_SCENE_MODE_CANDLE_LIGHT = V4L2_SCENE_MODE_CANDLE_LIGHT ,
  CAM_SCENE_MODE_DAWN_DUSK = V4L2_SCENE_MODE_DAWN_DUSK , CAM_SCENE_MODE_FALL_COLORS = V4L2_SCENE_MODE_FALL_COLORS , CAM_SCENE_MODE_FIREWORKS = V4L2_SCENE_MODE_FIREWORKS , CAM_SCENE_MODE_LANDSCAPE = V4L2_SCENE_MODE_LANDSCAPE ,
  CAM_SCENE_MODE_NIGHT = V4L2_SCENE_MODE_NIGHT , CAM_SCENE_MODE_PARTY_INDOOR = V4L2_SCENE_MODE_PARTY_INDOOR , CAM_SCENE_MODE_PORTRAIT = V4L2_SCENE_MODE_PORTRAIT , CAM_SCENE_MODE_SPORTS = V4L2_SCENE_MODE_SPORTS ,
  CAM_SCENE_MODE_SUNSET = V4L2_SCENE_MODE_SUNSET
}
 [en] Camera Scene Mode setting parameters.
[ja] Cameraのシーンモード設定値 More...
 
enum  CAM_COLOR_FX {
  CAM_COLOR_FX_NONE = V4L2_COLORFX_NONE , CAM_COLOR_FX_BW = V4L2_COLORFX_BW , CAM_COLOR_FX_SEPIA = V4L2_COLORFX_SEPIA , CAM_COLOR_FX_NEGATIVE = V4L2_COLORFX_NEGATIVE ,
  CAM_COLOR_FX_EMBOSS = V4L2_COLORFX_EMBOSS , CAM_COLOR_FX_SKETCH = V4L2_COLORFX_SKETCH , CAM_COLOR_FX_SKY_BLUE = V4L2_COLORFX_SKY_BLUE , CAM_COLOR_FX_GRASS_GREEN = V4L2_COLORFX_GRASS_GREEN ,
  CAM_COLOR_FX_SKIN_WHITEN = V4L2_COLORFX_SKIN_WHITEN , CAM_COLOR_FX_VIVID = V4L2_COLORFX_VIVID , CAM_COLOR_FX_AQUA = V4L2_COLORFX_AQUA , CAM_COLOR_FX_ART_FREEZE = V4L2_COLORFX_ART_FREEZE ,
  CAM_COLOR_FX_SILHOUETTE = V4L2_COLORFX_SILHOUETTE , CAM_COLOR_FX_SOLARIZATION = V4L2_COLORFX_SOLARIZATION , CAM_COLOR_FX_ANTIQUE = V4L2_COLORFX_ANTIQUE , CAM_COLOR_FX_SET_CBCR = V4L2_COLORFX_SET_CBCR ,
  CAM_COLOR_FX_PASTEL = V4L2_COLORFX_PASTEL
}
 [en] Camera Color effect setting parameters.
[ja] Cameraの画像エフェクトの設定値 More...
 

Functions

int CamImage::getWidth ()
 Get Image Width. More...
 
int CamImage::getHeight ()
 Get Image Height. More...
 
uint8_t * CamImage::getImgBuff ()
 Get Image memory address. More...
 
size_t CamImage::getImgSize ()
 Get Image Size. More...
 
size_t CamImage::getImgBuffSize ()
 Get image buffer size. More...
 
CAM_IMAGE_PIX_FMT CamImage::getPixFormat ()
 Get Image Pixcel format. More...
 
 CamImage::CamImage ()
 Constuctor of CamImage class. More...
 
 CamImage::CamImage (const CamImage &obj)
 Copy Constuctor of CamImage class. More...
 
CamImageCamImage::operator= (const CamImage &obj)
 Assignment operator. More...
 
CamErr CamImage::convertPixFormat (CAM_IMAGE_PIX_FMT to_fmt)
 Convert Pixcelformat of the image. More...
 
CamErr CamImage::resizeImageByHW (CamImage &img, int width, int height)
 Resize Image with HW 2D accelerator. More...
 
CamErr CamImage::clipAndResizeImageByHW (CamImage &img, int lefttop_x, int lefttop_y, int rightbottom_x, int rightbottom_y, int width, int height)
 Clip and resize Image with HW 2D accelerator. More...
 
bool CamImage::isAvailable (void)
 Check valid image data. More...
 
 CamImage::~CamImage ()
 Destructor of CamImage. More...
 
 CameraClass::~CameraClass ()
 Destruct CameraClass instance.
 
static CameraClass CameraClass::getInstance ()
 Get the Camera instance. More...
 
int CameraClass::getFd ()
 Get the file descriptor of camera device. More...
 
CamErr CameraClass::begin (int buff_num=1, CAM_VIDEO_FPS fps=CAM_VIDEO_FPS_30, int video_width=CAM_IMGSIZE_QVGA_H, int video_height=CAM_IMGSIZE_QVGA_V, CAM_IMAGE_PIX_FMT video_fmt=CAM_IMAGE_PIX_FMT_YUV422, int jpgbufsize_divisor=7)
 Initialize CameraClass instance. More...
 
CamErr CameraClass::startStreaming (bool enable, camera_cb_t cb=NULL)
 Start / Stop Video Stream. More...
 
CamErr CameraClass::setAutoWhiteBalance (bool enable)
 Control Auto White Balance. More...
 
CamErr CameraClass::setAutoExposure (bool enable)
 Control Auto Exposure. More...
 
CamErr CameraClass::setAbsoluteExposure (int32_t exposure_time)
 Set exposure Time. More...
 
int32_t CameraClass::getAbsoluteExposure (void)
 Get exposure Time. More...
 
CamErr CameraClass::setAutoISOSensitive (bool enable)
 Control Auto ISO Sensitivity (WIll obsolete after v1.2.0) More...
 
CamErr CameraClass::setAutoISOSensitivity (bool enable)
 Control Auto ISO Sensitivity. More...
 
CamErr CameraClass::setISOSensitivity (int iso_sense)
 Set ISO Sensivity value. More...
 
int CameraClass::getISOSensitivity (void)
 Get ISO Sensivity value. More...
 
CamErr CameraClass::setAutoWhiteBalanceMode (CAM_WHITE_BALANCE wb)
 Set Auto White Balance mode. More...
 
CamErr CameraClass::setColorEffect (CAM_COLOR_FX effect)
 Set Color Effect. More...
 
CamErr CameraClass::setHDR (CAM_HDR_MODE mode)
 Set HDR mode. More...
 
CAM_HDR_MODE CameraClass::getHDR (void)
 Get HDR mode. More...
 
CamErr CameraClass::setJPEGQuality (int quality)
 Set JPEG quality. More...
 
int CameraClass::getJPEGQuality (void)
 Get JPEG quality. More...
 
int CameraClass::getFrameInterval (void)
 Get frame interval. More...
 
CamErr CameraClass::setStillPictureImageFormat (int img_width, int img_height, CAM_IMAGE_PIX_FMT img_fmt=CAM_IMAGE_PIX_FMT_JPG, int jpgbufsize_divisor=7)
 Set Still Picture Image format parameters. More...
 
CamImage CameraClass::takePicture ()
 Take picture. More...
 
CAM_DEVICE_TYPE CameraClass::getDeviceType ()
 Get camera device type. More...
 
void CameraClass::end ()
 De-initialize Spresense Camera. More...
 
enum  CAM_HDR_MODE { CAM_HDR_MODE_OFF = 0 , CAM_HDR_MODE_AUTO = 1 , CAM_HDR_MODE_ON = 2 }
 [en] Camera HDR mode definitions.
[ja] CameraのHDRモードの設定値 More...
 
enum  CAM_VIDEO_FPS {
  CAM_VIDEO_FPS_NONE , CAM_VIDEO_FPS_5 , CAM_VIDEO_FPS_6 , CAM_VIDEO_FPS_7_5 ,
  CAM_VIDEO_FPS_15 , CAM_VIDEO_FPS_30 , CAM_VIDEO_FPS_60 , CAM_VIDEO_FPS_120
}
 [en] Camera Video Framerate setting parameters. [ja] Cameraのフレームレート設定値 More...
 
typedef void(* camera_cb_t) (CamImage img)
 [en] Camera Callback type definition.
[jp] Cameraからのコールバック関数の型定義
 
CameraClass theCamera
 

Detailed Description

API for using Camera.

Enumeration Type Documentation

◆ CAM_IMAGE_PIX_FMT

[en] Camera Image Pixcel format
[ja] Camera画像のピクセルフォーマット

Enumerator
CAM_IMAGE_PIX_FMT_RGB565 

RGB565 format

CAM_IMAGE_PIX_FMT_YUV422 

YUV422 packed.

CAM_IMAGE_PIX_FMT_JPG 

JPEG format

CAM_IMAGE_PIX_FMT_GRAY 

Gray-scale

CAM_IMAGE_PIX_FMT_NONE 

No defined format

◆ CamErr

enum CamErr

[en] Camera Error Codes.
[ja] Cameraのエラーコード

Enumerator
CAM_ERR_SUCCESS 

[en] Operation succeeded.
[jp] 正常終了しました

CAM_ERR_NO_DEVICE 

[en] No Video Device on this board.
[jp] Videoデバイスがありません

CAM_ERR_ILLEGAL_DEVERR 

[en] Video Device detected error.
[jp] Videoデバイスがエラーを検出しました

CAM_ERR_ALREADY_INITIALIZED 

[en] Library is already initialized
[jp] 既に初期化されています

CAM_ERR_NOT_INITIALIZED 

[en] Library is not initialized
[jp] 初期化されていません

CAM_ERR_NOT_STILL_INITIALIZED 

[en] Still picture function is not initialized
[jp] 静止画機能が初期化されていません

CAM_ERR_CANT_CREATE_THREAD 

[en] Failed to create thread
[jp] スレッド生成に失敗しました

CAM_ERR_INVALID_PARAM 

[en] Invalid parameter is detected.
[jp] 不正なパラメータを検出しました

CAM_ERR_NO_MEMORY 

[en] No memory on the device.
[jp] メモリが足りません

CAM_ERR_USR_INUSED 

[en] Buffer is using by user.
[jp] バッファがユーザ使用中です

CAM_ERR_NOT_PERMITTED 

[en] Operation is not permitted.
[jp] 許容されていない操作です

◆ CAM_DEVICE_TYPE

[en] Camera device type which is being used
[ja] 使用されているカメラデバイスの種類

Enumerator
CAM_DEVICE_TYPE_UNKNOWN 

[en] Unknown
[ja] 不明

CAM_DEVICE_TYPE_ISX012 

[en] ISX012
[ja] ISX012

CAM_DEVICE_TYPE_ISX019 

[en] ISX019
[ja] ISX019

◆ CAM_WHITE_BALANCE

[en] Camera White Balance setting parameters
[ja] Cameraホワイトバランス設定値

Enumerator
CAM_WHITE_BALANCE_AUTO 

[en] Automatic
[ja] 自動

CAM_WHITE_BALANCE_INCANDESCENT 

[en] Incandescent
[ja] 白熱電球

CAM_WHITE_BALANCE_FLUORESCENT 

[en] Fluorescent
[ja] 蛍光灯

CAM_WHITE_BALANCE_DAYLIGHT 

[en] Daylight
[ja] 晴天

CAM_WHITE_BALANCE_FLASH 

[en] Flash
[ja] フラッシュ光

CAM_WHITE_BALANCE_CLOUDY 

[en] Cloudy
[ja] 曇り空

CAM_WHITE_BALANCE_SHADE 

[en] Shade
[ja] 影

◆ CAM_SCENE_MODE

[en] Camera Scene Mode setting parameters.
[ja] Cameraのシーンモード設定値

Enumerator
CAM_SCENE_MODE_NONE 

[en] No Scene
[ja] シーン指定なし

CAM_SCENE_MODE_BACKLIGHT 

[en] Under backlight
[ja] バックライトシーン

CAM_SCENE_MODE_BEACH_SNOW 

[en] Beach or Snow
[ja] ビーチ / 雪景色

CAM_SCENE_MODE_CANDLE_LIGHT 

[en] Under candle light
[ja] ロウソクのシーン

CAM_SCENE_MODE_DAWN_DUSK 

[en] Dawn dusk
[ja] 夕暮れ

CAM_SCENE_MODE_FALL_COLORS 

[en] Fall colors
[ja] 紅葉

CAM_SCENE_MODE_FIREWORKS 

[en] Fireworks
[ja] 花火シーン

CAM_SCENE_MODE_LANDSCAPE 

[en] Landscape
[ja] ランドスケープ

CAM_SCENE_MODE_NIGHT 

[en] Night
[ja] 夜景

CAM_SCENE_MODE_PARTY_INDOOR 

[en] Party or Indoor
[ja] 室内

CAM_SCENE_MODE_PORTRAIT 

[en] Portrait
[ja] ポートレート

CAM_SCENE_MODE_SPORTS 

[en] Sports
[ja] スポーツ

CAM_SCENE_MODE_SUNSET 

[en] Sunset
[ja] 日の入りシーン

◆ CAM_COLOR_FX

[en] Camera Color effect setting parameters.
[ja] Cameraの画像エフェクトの設定値

Enumerator
CAM_COLOR_FX_NONE 

[en] no effect
[jp] 効果なし

CAM_COLOR_FX_BW 

[en] Black/white
[jp] 白黒

CAM_COLOR_FX_SEPIA 

[en] Sepia
[jp] セピア

CAM_COLOR_FX_NEGATIVE 

[en] positive/negative inversion
[jp] ネガ

CAM_COLOR_FX_EMBOSS 

[en] Emboss
[jp] エンボス

CAM_COLOR_FX_SKETCH 

[en] Sketch
[jp] スケッチ

CAM_COLOR_FX_SKY_BLUE 

[en] Sky blue
[jp] スカイブルー

CAM_COLOR_FX_GRASS_GREEN 

[en] Grass green
[jp] 草色

CAM_COLOR_FX_SKIN_WHITEN 

[en] Skin whiten
[jp] 美白

CAM_COLOR_FX_VIVID 

[en] Vivid
[jp] 鮮明

CAM_COLOR_FX_AQUA 

[en] Aqua
[jp] アクア

CAM_COLOR_FX_ART_FREEZE 

[en] Art freeze
[jp] アート

CAM_COLOR_FX_SILHOUETTE 

[en] Silhouette
[jp] シルエット

CAM_COLOR_FX_SOLARIZATION 

[en] Solarization
[jp] ソラリゼーション

CAM_COLOR_FX_ANTIQUE 

[en] Antique
[jp] アンティーク

CAM_COLOR_FX_SET_CBCR 

[en] Set CbCr
[jp]

CAM_COLOR_FX_PASTEL 

[en] Pastel
[jp] パステル

◆ CAM_HDR_MODE

[en] Camera HDR mode definitions.
[ja] CameraのHDRモードの設定値

Enumerator
CAM_HDR_MODE_OFF 

HDR off

CAM_HDR_MODE_AUTO 

HDR auto

CAM_HDR_MODE_ON 

HDR on

◆ CAM_VIDEO_FPS

[en] Camera Video Framerate setting parameters. [ja] Cameraのフレームレート設定値

Enumerator
CAM_VIDEO_FPS_NONE 

Non frame rate. This is for Still Capture

CAM_VIDEO_FPS_5 

5 FPS

CAM_VIDEO_FPS_6 

6 FPS

CAM_VIDEO_FPS_7_5 

7.5 FPS

CAM_VIDEO_FPS_15 

15 FPS

CAM_VIDEO_FPS_30 

30 FPS

CAM_VIDEO_FPS_60 

60 FPS

CAM_VIDEO_FPS_120 

120 FPS

Function Documentation

◆ getWidth()

int CamImage::getWidth ( )
inline

Get Image Width.

[en] Get Image pixel width (px).
[ja] 画像データの横サイズを取得する。(ピクセル単位)

Returns
[en] Width of the Image.(px)
[ja] 画像データの横サイズ。(ピクセル単位)

◆ getHeight()

int CamImage::getHeight ( )
inline

Get Image Height.

[en] Get Image pixel height (px).
[ja] 画像データの縦サイズを取得する。(ピクセル単位)

Returns
[en] Width of the Image.(px)
[ja] 画像データの縦サイズ。(ピクセル単位)

◆ getImgBuff()

uint8_t * CamImage::getImgBuff ( )
inline

Get Image memory address.

[en] Get Image memory address to access Image data directly.
[ja] 画像データに直接アクセスするためのデータのメモリアドレスを取得する。

Returns
[en] Image memory address.
[ja] 画像データのアドレス

◆ getImgSize()

size_t CamImage::getImgSize ( )
inline

Get Image Size.

[en] Get Image data size (bytes).
[ja] イメージデータサイズを返す。(byte単位)

Returns
[en] Actual image size. (bytes).
[jp] 実際のデータ長。(byte単位)

◆ getImgBuffSize()

size_t CamImage::getImgBuffSize ( )
inline

Get image buffer size.

[en] Get image buffer size (bytes).
[ja] 画像バッファサイズを返す。(byte単位)

Returns
[en] Image buffer size. (bytes).
[jp] 画像バッファサイズ。(byte単位)

◆ getPixFormat()

CAM_IMAGE_PIX_FMT CamImage::getPixFormat ( )
inline

Get Image Pixcel format.

[en] Get Pixcel format of this Image.
[ja] イメージデータのピクセルフォーマットを返す。

Returns
[en] Enum value of CAM_IMAGE_PIX_FMT
[jp] CAM_IMAGE_PIX_FMT で定義されているピクセルフォーマット

◆ CamImage() [1/2]

CamImage::CamImage ( )
inline

Constuctor of CamImage class.

[en] Construct empty CamImage instance.
[ja] 空のCamImageインスタンスを生成する。

Returns
[en] Empty CamImage instance
[jp] 空のCamImageインスタンス

◆ CamImage() [2/2]

CamImage::CamImage ( const CamImage obj)

Copy Constuctor of CamImage class.

[en] Construct new CamImage class copied from inputted instance. Internaly, the image data buffer is not created, but this makes the reference counter of the buffer just incremented.
[ja] 入力されたCamImageインスタンスのコピーのインスタンスを生成する。 内部では、画像データバッファは新たに作成されず、参照カウンタが+1される。

Returns
[en] Copied CamImage instance.
[jp] コピーされたCamImageインスタンス
Parameters
obj[en] Instance to copy.
[ja] コピー元のインスタンス

◆ operator=()

CamImage & CamImage::operator= ( const CamImage obj)

Assignment operator.

[en] This do 2 jobs. 1st. delete the old instance. 2nd. increment the reference counter of new assigned instance.
[ja] このメソッドでは主に2つの処理が行われる。第1に古いインスタンス の削除。第2に新しく代入されたインスタンスの参照カウンタを+1する。

Returns
[en] instance of assigned.
[jp] 代入されるインスタンス
Parameters
obj[en] Instance to be assigned.
[ja] 代入対象インスタンス

◆ convertPixFormat()

CamErr CamImage::convertPixFormat ( CAM_IMAGE_PIX_FMT  to_fmt)

Convert Pixcelformat of the image.

[en] Convert own image's pixel format. Override Image data. So original image is discarded. If paramter is the same format as current, no error and no operation.
[ja] ピクセルフォーマット変換を行う。画像データは上書きされ、元の ピクセルフォーマットの画像は破棄される。現在のフォーマットと 同一のフォーマットが設定された場合、何も処理は行われず正常終了する。

Returns
[en] Error codes in CamErr
[jp] CamErr で定義されているエラーコード
Parameters
to_fmt[en] Pixcel format which is convert to.
[ja] 変換するピクセルフォーマット

◆ resizeImageByHW()

CamErr CamImage::resizeImageByHW ( CamImage img,
int  width,
int  height 
)

Resize Image with HW 2D accelerator.

[en] Resize the image with 2D accelerator HW in CXD5602. Internaly, new image buffer is created, and the resized image is in it. After resized, CamImage instance of 1st argument stores it. If any error occured such as zero size case, this returns error code. This HW accelerator has limitation as below:

  • Minimum width and height is 12 pixels.
  • Maximum width is 768 pixels.
  • Maximum height is 1024 pixels.
  • Resizing magnification is 2^n or 1/2^n, and resized image size must be integer.
    [ja] CXD5602が持つ2Dアクセラレータを用いた画像のリサイズを行う。 内部で新たにImage用のバッファを生成したうえで、第1引数に指定された CamImageインスタンスに結果を格納する。 指定されたサイズがゼロの場合など、何らかのエラーが起きた場合、空の CamImageインスタンスを格納し、エラーコードを返す。 このHWアクセラレータには、以下の仕様制限があります。
    イメージの幅、高さの最小ピクセル数は12ピクセル。 イメージの幅の最大ピクセル数は768ピクセル。 イメージの高さの最大ピクセル数は1024ピクセル。 リサイズする場合の倍率は2^n倍もしくは1/2^nとなり、リサイズ後のサイズは整数になる必要がある。
    Returns
    [en] Error codes in CamErr
    [jp] CamErr で定義されているエラーコード
Parameters
img[en] Instance of CamImage with result of resizing.
[ja] リサイズ後の新しいCamImageが格納されるインスタンス
width[en] Width to resize
[ja] リサイズする画像の横サイズ
height[en] Height to resize
[ja] リサイズする画像の縦サイズ

◆ clipAndResizeImageByHW()

CamErr CamImage::clipAndResizeImageByHW ( CamImage img,
int  lefttop_x,
int  lefttop_y,
int  rightbottom_x,
int  rightbottom_y,
int  width,
int  height 
)

Clip and resize Image with HW 2D accelerator.

[en] Clip and resize the image with 2D accelerator HW in CXD5602. First, clip the area specified by the arguments (#lefttop_x, #lefttop_y) - (#rightbottom_x, # rightbottom_y) for the original image and specify the clipped image with arguments (#width, # height) resize to the size you made. The resized image is stored in the CamImage instance specified as the first argument with new image buffer created internally. If any error occured such as zero size case, this returns error code. This HW accelerator has limitation for resizing as below:

  • Minimum width and height is 12 pixels.
  • Maximum width is 768 pixels.
  • Maximum height is 1024 pixels.
  • Resizing magnification is 2^n or 1/2^n, and resized image size must be integer.
    [ja] CXD5602が持つ2Dアクセラレータを用いた画像のクリッピング及びリサイズを行う。 まず、元画像に対して、引数 (#lefttop_x, #lefttop_y) - (#rightbottom_x, #rightbottom_y) で指定された領域をクリップし、 クリップされた画像に対して引数 (#width, #height)で指定されたサイズにリサイズを行う。 リサイズ後の画像は、内部で新たにImage用のバッファを生成したうえで第1引数に指定されたCamImageインスタンスに結果を格納する。 指定されたサイズがゼロの場合など、何らかのエラーが起きた場合、空のCamImageインスタンスを格納し、エラーコードを返す。 なお、このHWアクセラレータには、リサイズ動作に関して以下の仕様制限があります。
      イメージの幅、高さの最小ピクセル数は12ピクセル。
      イメージの幅の最大ピクセル数は768ピクセル。
      イメージの高さの最大ピクセル数は1024ピクセル。
      リサイズする場合の倍率は2^n倍もしくは1/2^nとなり、リサイズ後のサイズは整数になる必要がある。
    Returns
    [en] Error codes in CamErr
    [jp] CamErr で定義されているエラーコード
Parameters
img[en] Instance of CamImage with result of resizing.
[ja] リサイズ後の新しいCamImageが格納されるインスタンス
lefttop_x[en] Left top X coodinate in original image for clipping.
[ja] 元画像に対して、クリップする左上のX座標
lefttop_y[en] Left top Y coodinate in original image for clipping.
[ja] 元画像に対して、クリップする左上のY座標
rightbottom_x[en] Right bottom X coodinate in original image for clipping.
[ja] 元画像に対して、クリップする左上のX座標
rightbottom_y[en] Right bottom Y coodinate in original image for clipping.
[ja] 元画像に対して、クリップする左上のY座標
width[en] Width to resize from clipping image
[ja] クリップされた画像に対して、リサイズする画像の横サイズ
height[en] Height to resize from clipping image
[ja] クリップされた画像に対して、リサイズする画像の縦サイズ

◆ isAvailable()

bool CamImage::isAvailable ( void  )

Check valid image data.

[en] Confirm availability of this image instance.
[ja] 利用可能な画像データかどうかをチェックする。

Returns
[en] true if the instance has correct image.
[ja] 利用可能な画像データであればtrueが返る。

◆ ~CamImage()

CamImage::~CamImage ( )

Destructor of CamImage.

[en] Destroy CamImage
[ja] CamImageインスタンスの破棄を行う。

◆ getInstance()

static CameraClass CameraClass::getInstance ( )
static

Get the Camera instance.

[en] Get the Camera instance. Usually the sketch should not use this method. Please use defined global variable of "theCamera".
[ja] CameraClassインスタンスを取得するメソッド。通常、スケッチでは このメソッドは使わないようにしてください。CameraClassのインス タンスは、グローバル変数として、"theCamera"を定義している のでそちらを使ってくだささい。

Returns
[en] Instance of CameraClass.
[ja] CameraClassインスタンス

◆ getFd()

int CameraClass::getFd ( )
inline

Get the file descriptor of camera device.

[en] Get the file descriptor of camera device.
[ja] カメラデバイスのファイルディスクリプタを取得する。

Returns
[en] The file descriptor of camera device. Return CAM_ERR_NO_DEVICE if begin() methods is not executed.
[ja] カメラデバイスのファイルディスクリプタ。 begin()メソッドが実行されていない場合は、CAM_ERR_NO_DEVICEを返す。

◆ begin()

CamErr CameraClass::begin ( int  buff_num = 1,
CAM_VIDEO_FPS  fps = CAM_VIDEO_FPS_30,
int  video_width = CAM_IMGSIZE_QVGA_H,
int  video_height = CAM_IMGSIZE_QVGA_V,
CAM_IMAGE_PIX_FMT  video_fmt = CAM_IMAGE_PIX_FMT_YUV422,
int  jpgbufsize_divisor = 7 
)

Initialize CameraClass instance.

[en] Initialize CameraClass Instance. This method must be called before use any other methods. With initialization, image buffers which is used as video buffer to get is generated.
[ja] CameraClassインスタンスの初期化を行う。このメソッドはほかのメソ ッドを利用する前に必ず呼び出す必要がある。この初期化に伴っ て、Videoストリームとして利用するVideoバッファも確保される。

Returns
[en] Error code defined as CamErr.
[ja] CamErr で定義されているエラーコード
Parameters
buff_num[en] Number of video stream image buffer.(Default : 1)
[ja] Videoストリームで利用するバッファの数 (デフォルト 1枚)
fps[en] Frame rate of video stream. Choose one in CAM_VIDEO_FPS (Default : 30FPS)
[ja] Videoストリームのフレームレート。 CAM_VIDEO_FPS の中から選択 (デフォルト 30FPS)
video_width[en] Image buffer width of video stream.(px)(Default : QVGA)
[ja] Videoストリーム画像の横サイズ (単位ピクセル)(デフォルト QVGA)
video_height[en] Image buffer height of video stream.(px)(Default : QVGA)
[ja] Videoストリーム画像の縦サイズ (単位ピクセル)(デフォルト QVGA)
video_fmt[en] Video stream image buffer pixel format.(Default : YUV422)
[ja] Videoストリームで利用するバッファのピクセルフォーマット (デフォルト YUV422)
jpgbufsize_divisor[en] The divisor of JPEG buffer size formula. buffer size = video_width * video_height * 2 / jpgbufsize_divisor (Default : 7)
[ja] JPEG用バッファサイズ計算式における除数。バッファサイズ = video_width * video_height * 2 / jpgbufsize_divisor (デフォルト : 7)

◆ startStreaming()

CamErr CameraClass::startStreaming ( bool  enable,
camera_cb_t  cb = NULL 
)

Start / Stop Video Stream.

[en] Start / Stop video stream. After call this method with enable, video stream from Spresense Camera starts. The video image from Camera can be captured by callback of camera_cb_t
[ja] Spresense CameraのVideoストリームを開始/停止する。このメソッド がenableで呼び出されるとSpresense CameraのVideoストリームが動き 出す。Video画像は camera_cb_t のコールバック関数の呼び出しによ り取得できる。

Returns
[en] Error code defined as CamErr.
[ja] CamErr で定義されているエラーコード
Parameters
enable[en] Start or Stop streaming. (ture : start, false : stop)
[ja] ストリームの開始/停止 (true : 開始、false : 停止)
cb[en] Callback function to capture the video image.
[ja] Video画像を取得するためのコールバック関数

◆ setAutoWhiteBalance()

CamErr CameraClass::setAutoWhiteBalance ( bool  enable)

Control Auto White Balance.

[en] Start / Stop Auto White Balance.
[ja] 自動ホワイトバランス調整の開始/停止の制御を行う

Returns
[en] Error code defined as CamErr.
[ja] CamErr で定義されているエラーコード
Parameters
enable[en] Start or Stop Auto White Balance. (true : start, false : stop)
[ja] 自動ホワイトバランス調整の開始/停止 (true : 開始、false : 停止)

◆ setAutoExposure()

CamErr CameraClass::setAutoExposure ( bool  enable)

Control Auto Exposure.

[en] Start / Stop Auto Exposure
[ja] 自動露光調整の開始/停止の制御を行う

Returns
[en] Error code defined as CamErr.
[ja] CamErr で定義されているエラーコード
Parameters
enable[en] Start or Stop Auto Exposure. (true : start, false : stop)
[ja] 自動露光調整の開始/停止 (true : 開始、false : 停止)

◆ setAbsoluteExposure()

CamErr CameraClass::setAbsoluteExposure ( int32_t  exposure_time)

Set exposure Time.

[en] Set exposure time in 100usec units.
[ja] 露光時間(100usec単位)を設定する。

Parameters
exposure_time[en] Exposure time in 100 usec units. ex) 10000 is one second.
[ja] 露光時間(100usec単位)。 例) 10000 = 1秒
Returns
[en] Error code defined as CamErr.
[ja] #CamErrで定義されているエラーコード。

◆ getAbsoluteExposure()

int32_t CameraClass::getAbsoluteExposure ( void  )

Get exposure Time.

[en] Get exposure time in 100usec units.
[ja] 露光時間(100usec単位)を取得する。

Returns
[en] Exposure time in 100usec units or error code defined as CamErr.
[ja] 露光時間(100usec単位) もしくは、::CamErrで定義されているエラーコード。

◆ setAutoISOSensitive()

CamErr CameraClass::setAutoISOSensitive ( bool  enable)

Control Auto ISO Sensitivity (WIll obsolete after v1.2.0)

[en] Start / Stop Auto ISO Sensitivity
[ja] 自動ISO感度調整の開始/停止の制御を行う

Returns
[en] Error code defined as CamErr.
[ja] CamErr で定義されているエラーコード
Parameters
enable[en] Start or Stop Auto ISO Sensitivity. (true : start, false : stop)
[ja] 自動ISO感度調整の開始/停止 (true : 開始、false : 停止)

◆ setAutoISOSensitivity()

CamErr CameraClass::setAutoISOSensitivity ( bool  enable)

Control Auto ISO Sensitivity.

[en] Start / Stop Auto ISO Sensitivity
[ja] 自動ISO感度調整の開始/停止の制御を行う

Returns
[en] Error code defined as CamErr.
[ja] CamErr で定義されているエラーコード
Parameters
enable[en] Start or Stop Auto ISO Sensitivity. (true : start, false : stop)
[ja] 自動ISO感度調整の開始/停止 (true : 開始、false : 停止)

◆ setISOSensitivity()

CamErr CameraClass::setISOSensitivity ( int  iso_sense)

Set ISO Sensivity value.

[en] Set ISO Sensitivity value. This value is available in case of Auto ISO Seisitivity stopped. If re-enable Auto ISO Sensitivity, set value is disapired, so the value should set again.
[ja] ISO感度設定。この値は自動ISO感度調整機能をOFFした場合にのみ有効。 この値は、再度自動ISO感度調整を有効にした場合、破棄される。その 場合、再設定が必要になる。

Returns
[en] Error code defined as CamErr.
[ja] CamErr で定義されているエラーコード
Parameters
iso_sense[en] ISO Sensitivity value. Use macros named Camera ISO Sensitivity parameter definitions
[ja] ISO感度値。 Camera ISO Sensitivity parameter definitions と定義されたマクロから選択する

◆ getISOSensitivity()

int CameraClass::getISOSensitivity ( void  )

Get ISO Sensivity value.

[en] Get ISO Sensitivity value. [ja] ISO感度を取得する。

Returns
[en] ISO Sensitivity value or Error code defined as CamErr.
[ja] ISO感度もしくは、::CamErr で定義されているエラーコード

◆ setAutoWhiteBalanceMode()

CamErr CameraClass::setAutoWhiteBalanceMode ( CAM_WHITE_BALANCE  wb)

Set Auto White Balance mode.

[en] Set Auto White Balance mode.
[ja] 自動ホワイトバランス調整モードの設定。

Returns
[en] Error code defined as CamErr.
[ja] CamErr で定義されているエラーコード
Parameters
wb[en] White Balance mode. Choose one from CAM_WHITE_BALANCE
[ja] ホワイトバランスモード設定。 CAM_WHITE_BALANCE より設定値を選択する

◆ setColorEffect()

CamErr CameraClass::setColorEffect ( CAM_COLOR_FX  effect)

Set Color Effect.

[en] Set Color Effect.
[ja] 色効果の設定

Returns
[en] Error code defined as CamErr.
[ja] CamErr で定義されているエラーコード
Parameters
effect[en] Color effect. Choose one from CAM_COLOR_FX
[ja] 色効果設定値。 CAM_COLOR_FX から選択する

◆ setHDR()

CamErr CameraClass::setHDR ( CAM_HDR_MODE  mode)

Set HDR mode.

[en] Set HDR mode. The default mode is HDR auto(CAM_HDR_MODE_AUTO)
[ja] HDRモードを設定する。デフォルトはHDR auto(CAM_HDR_MODE_AUTO)。

Returns
[en] Error code defined as CamErr.
[ja] CamErr で定義されているエラーコード
Parameters
mode[en] HDR mode value. Choose one from CAM_HDR_MODE
[ja] HDRモード。 CAM_HDR_MODE から選択する。

◆ getHDR()

CAM_HDR_MODE CameraClass::getHDR ( void  )

Get HDR mode.

[en] Get HDR mode.
[ja] HDRモードを取得する。

Returns
[en] HDR mode defined as CAM_HDR_MODE.
[ja] CAM_HDR_MODE で定義されているHDRモード。

◆ setJPEGQuality()

CamErr CameraClass::setJPEGQuality ( int  quality)

Set JPEG quality.

[en] Set JPEG quality.
[ja] JPEG品質を設定する。

Parameters
quality[en] JPEG quality(1-100). In ISX019 case, 1-4 are rounded up to 10, and 5-100 are rounded to the nearest 10.
[ja] JPEG品質(1-100)。ISX019を使用する場合、1-4は10に切り上げ、5-100は1の位を四捨五入し10の倍数に丸め込まれる。
Returns
[en] Error code defined as CamErr.
[ja] #CamErrで定義されているエラーコード。

◆ getJPEGQuality()

int CameraClass::getJPEGQuality ( void  )

Get JPEG quality.

[en] Get JPEG quality.
[ja] JPEG品質を取得する。

Returns
[en] JPEG quality or error code defined as CamErr.
[ja] JPEG品質 もしくは、::CamErrで定義されているエラーコード。

◆ getFrameInterval()

int CameraClass::getFrameInterval ( void  )

Get frame interval.

[en] Get frame interval in 100usec units.
[ja] フレーム間隔(100usec単位)を取得する。

Returns
[en] Frame interval in 100usec units or error code defined as CamErr.
[ja] フレーム間隔(100usec単位) もしくは、::CamErrで定義されているエラーコード。

◆ setStillPictureImageFormat()

CamErr CameraClass::setStillPictureImageFormat ( int  img_width,
int  img_height,
CAM_IMAGE_PIX_FMT  img_fmt = CAM_IMAGE_PIX_FMT_JPG,
int  jpgbufsize_divisor = 7 
)

Set Still Picture Image format parameters.

[en] Set Still Picture Image format.
[ja] 静止画写真の画像フォーマット設定。

Returns
[en] Error code defined as CamErr.
[ja] CamErr で定義されているエラーコード
Parameters
img_width[en] Image width of Still picture.(px)
[ja] 静止画写真の横サイズ (単位ピクセル)
img_height[en] Image height of Still picture.(px)
[ja] 静止画写真の縦サイズ (単位ピクセル)
img_fmt[en] Image pixel format. (Default JPEG)
[ja] 静止画ピクセルフォーマット (デフォルト JPEG)
jpgbufsize_divisor[en] The divisor of JPEG buffer size formula. buffer size = img_width * img_height * 2 / jpgbufsize_divisor (Default : 7)
[ja] JPEG用バッファサイズ計算式における除数。バッファサイズ = img_width * img_height * 2 / jpgbufsize_divisor (デフォルト : 7)

◆ takePicture()

CamImage CameraClass::takePicture ( )

Take picture.

[en] Take picture with picture parameters which is set on setStillPictureImageFormat() .
[ja] 写真撮影。 setStillPictureImageFormat() で設定した写真フォーマットに従って、写真を撮る。

Returns
[en] Taken picture. If any error occured, the result value has empty object.
[ja] 撮影された写真イメージ。もし何らかのエラーが発生した場合、空のCamImageオブジェクトが返される。

◆ getDeviceType()

CAM_DEVICE_TYPE CameraClass::getDeviceType ( )

Get camera device type.

[en] Get camera device type which is being used.
[ja] 使用されているカメラデバイスの種類を取得する。

Returns
[en] Camera device type which is being used.
[ja] 使用されているカメラデバイスの種類。

◆ end()

void CameraClass::end ( )

De-initialize Spresense Camera.

[en] De-initialize Spresense Camera. This method cancel everything of Camera. If you want to use the Camera again, you should call CameraClass::begin() method again.
[ja] Spresense Cameraの終了処理を行う。このメソッドが呼び出されると、 Cameraで行っていたのすべてがキャンセルされる。再度Cameraを利用し たい場合には CameraClass::begin() メソッドを再度呼び出す必要がある。