SDK関数リファレンス:C++言語

Ovrvision Class

Ovrvision() コンストラクタ

戻り値
Ovrvision class生成したOvrvisionクラス
解説
Ovrvisionのカメラを動作させるためのクラスです。

int Open(int locationID, OVR::Camprop flag)

引数
int locationIDOvrvision接続番号
OVR::Camprop flagカメラプロパティ
OV_CAMVGA_FULL:640x480 @60fps x2 高速(Default)
OV_CAMVGA_SVGA:800x600 @30fps x2 遅い
戻り値
int成功するとOV_RESULT_OK(0)が返ります
解説
locationIDで指定した番号のOvrvisionを起動しオープンにします。
locationIDは2つ以上Ovrvisionをコンピュータに接続している場合指定に必要になりますが、基本的に0で良いです。
カメラプロパティは、カメラの起動する方法を指定します。

void Close()

解説
起動しているOvrvisionのカメラを閉じます。終了時は必ず閉じてください。

void PreStoreCamData()

解説
Ovrvisionの両方のカメラから画像を同時に撮ります。
画像の取得はGetCamImageにて行います。
サンプルコード
g_pOvrvision->PreStoreCamData();
unsigned char* p = g_pOvrvision->GetCamImage(OVR::OV_CAMEYE_LEFT, OV_PSQT_HIGH);
unsigned char* p2 = g_pOvrvision->GetCamImage(OVR::OV_CAMEYE_RIGHT, OV_PSQT_HIGH);

unsigned char* GetCamImage(OVR::Cameye eye, OvPSQuality processing)

引数
OVR::Cameye eyeカメラ指定
OV_CAMEYE_LEFT:左目用カメラ
OV_CAMEYE_RIGHT:右目用カメラ
OvPSQuality processing画像処理方法を指定
OV_PSQT_NONE:未処理
OV_PSQT_LOW:荒く処理(高速)
OV_PSQT_HIGH:綺麗に処理(遅い)
OV_PSQT_REFSET:DK2用に反転だけの処理
戻り値
unsigned char*カメラのRGBデータが返ります。
SDK内部にデータを持ちます。
解説
指定したカメラから画像を取得し、画像が入ったクラス内部に持つデータのポインタを返します。
8ビットで構成されたRGBデータを画素数分あります。例:640x480x3(RGB)=921,600バイト
OvPSQualityでゆがみ補正などの画像処理をどうするかを指定します。
サンプルコード
g_pOvrvision->PreStoreCamData();
unsigned char* p = g_pOvrvision->GetCamImage(OVR::OV_CAMEYE_LEFT, OV_PSQT_HIGH);
unsigned char* p2 = g_pOvrvision->GetCamImage(OVR::OV_CAMEYE_RIGHT, OV_PSQT_HIGH);
if(p!=NULL){/*Process*/}
if(p2!=NULL){/*Process*/}

void GetCamImage(unsigned char* pImageBuf, OVR::Cameye eye, OvPSQuality processing)

引数
unsigned char* pImageBuf画像格納先ポインタ
OVR::Cameye eyeカメラ指定
OV_CAMEYE_LEFT:左目用カメラ
OV_CAMEYE_RIGHT:右目用カメラ
OvPSQuality processing画像処理方法を指定
OV_PSQT_NONE:未処理
OV_PSQT_LOW:荒く処理(高速)
OV_PSQT_HIGH:綺麗に処理(遅い)
OV_PSQT_REFSET:DK2用に反転だけの処理
解説
指定したカメラから画像を取得し、指定した画像ポインタ先にデータをコピーします。
8ビットで構成されたRGBデータを画素数分あります。例:640x480x3(RGB)=921,600バイト
OvPSQualityでゆがみ補正などの画像処理をどうするかを指定します。

void GetCamImageMJPEG(unsigned char* pImageBuf, int* pSize, OVR::Cameye eye)

引数
unsigned char* pImageBufJPEG画像格納先ポインタ
int* pSize取得した画像データサイズ
OVR::Cameye eyeカメラ指定
OV_CAMEYE_LEFT:左目用カメラ
OV_CAMEYE_RIGHT:右目用カメラ
解説
指定したカメラからJPEG画像を取得し、指定したJPEG画像ポインタ先にデータをコピーします。
カメラのストリームはJPEGで、RGB変換やゆがみ処理を一切せずにそのまま取得します。

bool PutHandInFrontOfCamera(unsigned char thres_less, unsigned char* pImageBuf)

引数
unsigned char thres_less暗さの閾値
char* pImageBufGetCamImage()で取得したイメージバッファ
戻り値
bool閾値を下回る場合はtrueが返ります。
解説
カメラに手を被せる(カメラ前が暗くなる)とtrueを返します。
ゲーム中にカメラモードに切り替えるなどに使えます。

bool SetParamXMLfromFile(char* filename)

引数
char* filename設定ファイルの読み込み先フルパス
NULLを指定するとデフォルトの固定パスが指定されます。
戻り値
bool成功するとtrueが返ります。
解説
指定したXMLファイルから、設定データを読み込みセットします。

bool SaveParamXMLtoFile(char* savefilename)

引数
char* savefilename設定ファイルの保存先フルパス
NULLを指定するとデフォルトの固定パスが指定されます。
戻り値
bool成功するとtrueが返ります。
解説
Ovrvisionの設定を、指定したファイルパスへXML形式で保存します。

void SetExposure(int value)

引数
int value設定値
OV_SET_AUTOMODE:自動(Default)
0 - 5 の範囲:値が小さければ露出時間が少なくなります。
解説
Ovrvisionのカメラ露出値を設定します。

void SetWhiteBalance(int value)

引数
int value設定値
OV_SET_AUTOMODE:自動(Default)
2800 - 6500 の範囲:色温度で指定します。
解説
Ovrvisionのカメラ色温度を設定します。

void SetContrast(int value)

引数
int value設定値
0 - 127 の範囲:値が低ければ弱くなります。(Default:32)
解説
Ovrvisionのカメラコントラストを設定します。

void SetSaturation(int value)

引数
int value設定値
0 - 127 の範囲:値が低ければ薄くなります。(Default:40)
解説
Ovrvisionのカメラ彩度を設定します。

void SetBrightness(int value)

引数
int value設定値
0 - 255 の範囲:値が低ければ暗くなります。(Default:100)
解説
Ovrvisionのカメラ明るさを設定します。

void SetSharpness(int value)

引数
int value設定値
0 - 15 の範囲:値が低ければ弱くなります。(Default:2)
解説
Ovrvisionのカメラエッジのシャープ値を設定します。

void SetGamma(int value)

引数
int value設定値
0 - 15 の範囲:値が低ければ弱くなります。(Default:7)
解説
Ovrvisionのカメラガンマを設定します。

int GetExposure()

戻り値
int設定値
解説
Ovrvisionのカメラ露出値を取得します。

int GetWhiteBalance()

戻り値
int設定値
解説
Ovrvisionのカメラ色温度を取得します。

int GetContrast()

戻り値
int設定値
解説
Ovrvisionのカメラコントラストを取得します。

int GetSaturation()

戻り値
int設定値
解説
Ovrvisionのカメラ彩度を取得します。

int GetBrightness()

戻り値
int設定値
解説
Ovrvisionのカメラ明るさを取得します。

int GetSharpness()

戻り値
int設定値
解説
Ovrvisionのカメラエッジのシャープ値を取得します。

int GetGamma()

戻り値
int設定値
解説
Ovrvisionのカメラガンマを取得します。

float GetFocalPoint()

戻り値
floatフォーカル値
解説
Ovrvisionのフォーカルポイント(焦点距離)を取得します。
ARの設定で必要になります。

Camprop GetCameraProperty()

戻り値
OVR::Campropカメラプロパティ
OV_CAMVGA_FULL:640x480 @60fps x2 高速(Default)
OV_CAMVGA_SVGA:800x600 @30fps x2 遅い
解説
Openに指定したカメラプロパティが返ります。

CamStatus GetCameraStatus()

戻り値
OVR::CamStatusカメラステータス
OV_CAMCLOSED:Ovrvisionは起動していません。
OV_CAMOPENED:Ovrvisionは起動中です。
解説
Ovrvisionの状態を返ります。

int GetPixelSize()

戻り値
intピクセルデータサイズ
解説
起動しているOvrvisionのRGBのピクセルデータサイズが返ります。
通常、RGBの3バイトなので「3」です。

int GetImageWidth()

戻り値
intカメラの画像サイズ
解説
Ovrvisionの解像度の幅(W)が返ります。

int GetImageHeight()

戻り値
intカメラの画像サイズ
解説
Ovrvisionの解像度の高さ(H)が返ります。

int GetImageRate()

戻り値
intカメラのフレームレート値
解説
Ovrvisionのフレームレートが返ります。

int GetBufferSize()

戻り値
intデータサイズ
解説
Ovrvisionのバッファサイズが返ります。
たとえば、640x480x3(RGB)であれば「921,600バイト」

int GetOculusRightGap()

戻り値
intギャップ値
解説
Oculus Rift SDK側で設定するための右目とのギャップ値
ARの設定で必要になります。

OvrvisionAR Class

OvrvisionAR(float markersize_meter, int w, int h, float focalPoint) コンストラクタ

引数
float markersize_meterマーカーのサイズ(メートル指定)
int wカメラ画像の幅(W)
int hカメラ画像の縦(H)
float focalPointフォーカル値を指定します。
戻り値
OvrvisionAR class生成したOvrvisionARクラス
解説
マーカーARをするためのクラスです。
サンプルコード
g_pOvrvision = new OVR::Ovrvision();
g_pOvrvision->Open(0,OVR::OV_CAMVGA_FULL);
g_pOvrvisionAR = new OVR::OvrvisionAR(0.15f,CAM_WIDTH,CAM_HEIGHT,g_pOvrvision->GetFocalPoint());

void SetImageRGB(unsigned char* pImage)

引数
unsigned char* pImage画像格納済みポインタ
解説
マーカー検知用に新しい画像の入ったポインタを指定します。

void Render()

解説
セットされた画像を参照してARマーカーを検知します。新しい画像をセットした場合、GetMarkerDataを呼ぶする前に必ず必要です。
サンプルコード
g_pOvrvisionAR->SetImageRGB(pImage);
g_pOvrvisionAR->Render();
OVR::OvMarkerData* dt = g_pOvrvisionAR->GetMarkerData();
for(int i=0; i < g_pOvrvisionAR->GetMarkerDataSize(); i++){/*Process*/}

int GetMarkerDataSize()

戻り値
intマーカー数
解説
検知できたマーカーの数を取得します。

OVR::OvMarkerData* GetMarkerData();

戻り値
OvMarkerData*検知したマーカーデータ
解説
Render()で検知したデータが格納されています。
サンプルコード
g_pOvrvisionAR->SetImageRGB(pImage);
g_pOvrvisionAR->Render();
OVR::OvMarkerData* dt = g_pOvrvisionAR->GetMarkerData();
for(int i=0; i < g_pOvrvisionAR->GetMarkerDataSize(); i++){/*Process*/}

OVR::OvMarkerData* GetMarkerData(int idx)

引数
int idxマーカーデータのインデックス
戻り値
OvMarkerData*検知したマーカーデータ
解説
Render()で検知したデータが格納されています。インデックスを指定したデータのみを取得できます。

void SetMarkerSizeMeter(float value)

引数
float valueマーカーのサイズ(メートル指定)
解説
マーカーサイズをメートル法で指定します。

float GetMarkerSizeMeter()

戻り値
floatマーカーサイズ(メートル)
解説
設定されているマーカーサイズを取得します。

トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-02-12 (木) 16:38:04 (1405d)