Versions Compared

Key

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

Updated:

質問

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

...

回答

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

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

Info

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

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

...

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

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

処理サンプル(C版)

Code Block
#ifdef ADAM_TARGET_PF_ipro_ambaCV2X_linux

err = ADAM_CamPrefCV_Get(ADAM_CAMPREF_TYPE_IMG_ROTATION, &m_adamCamPrefDataSetCpuData(&ycInBlob, pData->m_pData);
if(err != ADAM_ERR_OK){
  ADAM_DEBUG_PRINT(ADAM_LV_ERR, "ERROR --- ADAM_CamPref_Get() CV_SetCpuData err! err:%d\n",err);
  return;
}

err = ADAM_CVCamInfo_SetCpuDataGet(&ycInBlob, pData->m_pDatam_adamCamInfo);
if(err != ADAM_ERR_OK){
  ADAM_DEBUG_PRINT(ADAM_LV_ERRDBG, "ADAM_CVCamInfo_SetCpuDataGet err! err:%d\n",err);
  return;
}

if ( m_adamCamPrefDataadamCamInfo.m_arg.m_rotationptz == 1801) ){
  ADAM_DEBUG_PRINT(ADAM_LV_DBG, "ImageLotate = (%d)\n",m_adamCamPrefData.m_arg.m_rotation);
  err = ADAM_CVPtzDigitalFlipState_ImageRotateGet(&ycInBlob,&ycInBlobTmp,ADAM_ROTATE_180DEGptzDegitalFlip);
  if(err != ADAM_ERR_OK){
    ADAM_DEBUG_PRINT(ADAM_LV_ERR, "ADAM_CVPtzDigitalFlipState_ImageRotateGet err \n");
    return;
  }
}
Note

SシリーズBOXカメラの場合はこちらをご参照ください。

PTZカメラの場合はADAM_PtzDigitalFlipState_Get()で回転設定を取得できます。

処理サンプル(C版)

Code Block

  
  if( ptzDegitalFlip == 1){
    ADAM_DEBUG_PRINT(ADAM_LV_DBG, "ptzDegitalFlip = (%d)\n",ptzDegitalFlip);
    err = ADAM_PtzDigitalFlipStateCV_GetImageRotate(&ptzDegitalFlip&ycInBlob,&ycInBlobTmp,ADAM_ROTATE_180DEG);
    if(err != ADAM_ERR_OK){
      ADAM_DEBUG_PRINT(ADAM_LV_ERR, "ADAM_PtzDigitalFlipStateCV_GetImageRotate err \n");
      return;
    }
  }
}
else{
  err = ADAM_CVCamPref_SetCpuData(&ycInBlob, pData->m_pDataGet(ADAM_CAMPREF_TYPE_IMG_ROTATION, &m_adamCamPrefData);
  if(err != ADAM_ERR_OK){
    ADAM_DEBUG_PRINT(ADAM_LV_ERR, "ERROR --- ADAM_CVCamPref_SetCpuData err! err:%dGet() \n",err);
    return;
  }

  if( ptzDegitalFlipm_adamCamPrefData.m_arg.m_rotation == 1180 ){
    ADAM_DEBUG_PRINT(ADAM_LV_DBG, "ptzDegitalFlipImageLotate = (%d)\n",ptzDegitalFlipm_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()

...