Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

...

...

...

...

Updated:

...

質問

...

カメラ本体設定「画像回転」および「上下反転」により、YC画像の向きはどうなりますか?

...

回答

...

本体設定の「画像回転」および「上下反転」はライブ画に反映される設定です。

...

YC画像を回転させたい場合は、アプリ内で実装する必要があります。

...

カメラの設定変更をしない場合、ライブ画・アプリで取得するYC画像はともに上下反転しています。

Image Removed

...

Info

ambaCV5Xカメラではアプリ内の実装は不要です。

[設定] - [基本] - [基本] - [画像回転]の設定を「180°(上下反転)」とすると、ライブ画の表示は180度回転します。

...

この時、取得できるYC画像は変化しません。

Image Removed
Image Removed

...

...

PTZカメラの場合、[PTZ] - [カメラ動作] - [カメラ動作] - [上下反転]の設定を「ON」とすると、ライブ画の表示は上下反転します。

...

[画像回転]を「0°(OFF)」に設定した場合
[上下反転]を「OFF」に設定した場合

...

[画像回転]を「180°(上下反転)」に設定した場合
[画像回転]を「ON」に設定した場合

...

ライブ画と同じ向きの画像を扱いたい場合は、カメラの設定に応じてアプリ内で画像回転させる必要があります。

ADAM_CamPref_Get()およびADAM_PtzDigitalFlipState_Get()で回転設定を取得できます。

...

処理サンプル(C版)

Code Block

...

#ifdef ADAM_TARGET_PF_ipro_ambaCV2X_linux

err = ADAM_CV_SetCpuData(&ycInBlob, pData->m_pData);
if(err != ADAM_ERR_OK){
  ADAM_

...

DEBUG_

...

PRINT(ADAM_

...

LV_ERR, "ADAM_CV_SetCpuData err! err:%d\n",err);
  return;
}

err = ADAM_CamInfo_Get(&m_adamCamInfo);
if(

...

err != ADAM_ERR_OK){
  

...

ADAM_DEBUG_PRINT(

...

ADAM_LV_

...

DBG, "

...

ADAM_

...

CamInfo_Get

...

 

...

err");
  return

...

;
}

if (

...

m_

...

adamCamInfo.m_

...

ptz ==

...

 1) {
  err = ADAM_PtzDigitalFlipState_Get(&ptzDegitalFlip);
  if(err != ADAM_ERR_OK){
  

...

  ADAM_DEBUG_PRINT(

...

ADAM_LV_ERR, "ADAM_PtzDigitalFlipState_Get err");
    return;
  }
  
  if( ptzDegitalFlip == 1){
    ADAM_DEBUG_PRINT(ADAM_LV_DBG, "

...

ptzDegitalFlip 

...

= (%d)\n",

...

ptzDegitalFlip);
    

...

err = ADAM_CV_

...

ImageRotate(&ycInBlob,&ycInBlobTmp

...

,ADAM_ROTATE_180DEG);

...

 

...

   if(err != ADAM_

...

ERR_OK){
   

...

   

...

ADAM_DEBUG_PRINT(ADAM_LV_ERR, "ADAM_CV_ImageRotate err \n");
      return;
    }
  }
}
else{
  err = ADAM_CamPref_Get(ADAM_CAMPREF_TYPE_IMG_ROTATION, &m_adamCamPrefData);
  if(err != ADAM_ERR_OK){
    ADAM_DEBUG_PRINT(ADAM_LV_ERR, "ERROR --- ADAM_CamPref_Get() \n");
    return;
  }

  if( m_adamCamPrefData.m_arg.m_rotation == 180 ){
    ADAM_DEBUG_PRINT(ADAM_LV_DBG, "ImageLotate = (%d)\n",

...

m_adamCamPrefData.m_arg.m_rotation);
    err = ADAM_CV_ImageRotate(&ycInBlob,&ycInBlobTmp,ADAM_ROTATE_180DEG);
    if(err != ADAM_ERR_OK){
  

...

    ADAM_DEBUG_PRINT(ADAM_LV_ERR, "ADAM_CV_ImageRotate err \n");
      return;
    }
  }
}
#endif

関連FAQ

dev-partner.i-pro.com/space/TPFAQ/724078720

Python版API

  • adam_cam_pref_get()

  • adam_cv_image_rotate()

  • adam_ptz_digital_flip_state_get()