Changeset 446 in 3DVCSoftware for branches/HTM-DEV-0.2-dev/source/Lib/TAppCommon
- Timestamp:
- 26 May 2013, 16:22:23 (12 years ago)
- Location:
- branches/HTM-DEV-0.2-dev/source/Lib/TAppCommon
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
branches/HTM-DEV-0.2-dev/source/Lib/TAppCommon/TAppComCamPara.cpp
r438 r446 49 49 #include <functional> 50 50 #include <string> 51 51 #if H_3D 52 52 53 53 … … 58 58 AOF( radShiftParams == NULL && raiShiftParams == NULL && radLUT == NULL && raiLUT == NULL ); 59 59 60 uiNumberSourceViews = max(1, uiNumberSourceViews );61 uiNumberTargetViews = Max(1, uiNumberTargetViews );60 uiNumberSourceViews = std::max( (UInt) 1, uiNumberSourceViews ); 61 uiNumberTargetViews = std::max( (UInt) 1, uiNumberTargetViews ); 62 62 63 63 radShiftParams = new Double** [ uiNumberSourceViews ]; … … 892 892 893 893 // maximum deviation 894 dMaxDispDev = Max( dMaxDispDev, fabs( Double( (Int) iTestScale ) - dShiftLuma * Double( 1 << iLog2DivLuma ) ) / Double( 1 << iLog2DivLuma ) );895 dMaxRndDispDvL = Max( dMaxRndDispDvL, fabs( Double( (Int) iShiftLuma ) - dShiftLuma ) );896 dMaxRndDispDvC = Max( dMaxRndDispDvC, fabs( Double( (Int) iShiftChroma ) - dShiftChroma ) );894 dMaxDispDev = std::max( dMaxDispDev, fabs( Double( (Int) iTestScale ) - dShiftLuma * Double( 1 << iLog2DivLuma ) ) / Double( 1 << iLog2DivLuma ) ); 895 dMaxRndDispDvL = std::max( dMaxRndDispDvL, fabs( Double( (Int) iShiftLuma ) - dShiftLuma ) ); 896 dMaxRndDispDvC = std::max( dMaxRndDispDvC, fabs( Double( (Int) iShiftChroma ) - dShiftChroma ) ); 897 897 } 898 898 … … 980 980 AOF( iMinAbsVOIId != 0 && iMinAbsVOI != 0 ); 981 981 xGetCameraShifts( 0, iMinAbsVOIId, m_uiFirstFrameId, dCamPosShift, dPicPosShift ); 982 #if H_3D_PDM_CAM_PARAS 982 983 Double dCamPosShiftVOI01 = dCamPosShift / Double( iMinVOI ); 984 #endif 983 985 984 986 //--- determine maximum absolute camera position shift, precision, and base scale --- … … 993 995 } 994 996 } 997 998 #if H_3D_PDM_CAM_PARAS 995 999 Int iPrecision = 0; 996 1000 #if 0 // enabling this lines might be reasonable, but produces different results for the 2 view and 3 view test cases … … 1027 1031 } 1028 1032 } 1033 #endif 1029 1034 } 1030 1035 … … 1050 1055 m_aaiScaleAndOffsetSet = 0; 1051 1056 1057 #if H_3D_PDM_CAM_PARAS 1052 1058 m_iPdmPrecision = 0; 1053 1059 m_aaiPdmScaleNomDelta = 0; 1054 1060 m_aaiPdmOffset = 0; 1061 #endif 1055 1062 1056 1063 m_adBaseViewShiftParameter = 0; … … 1078 1085 xDeleteArray( m_aiBaseViewShiftLUT, m_iNumberOfBaseViews, m_iNumberOfBaseViews, 2 ); 1079 1086 1080 xDeleteArray( m_adSynthViewShiftParameter, m_iNumberOfBaseViews, Max(1,m_iNumberOfSynthViews));1081 xDeleteArray( m_aiSynthViewShiftParameter, m_iNumberOfBaseViews, Max(1,m_iNumberOfSynthViews));1082 xDeleteArray( m_adSynthViewShiftLUT, m_iNumberOfBaseViews, Max(1,m_iNumberOfSynthViews), 2 );1083 xDeleteArray( m_aiSynthViewShiftLUT, m_iNumberOfBaseViews, Max(1,m_iNumberOfSynthViews), 2 );1087 xDeleteArray( m_adSynthViewShiftParameter, m_iNumberOfBaseViews, std::max((Int) 1 ,m_iNumberOfSynthViews)); 1088 xDeleteArray( m_aiSynthViewShiftParameter, m_iNumberOfBaseViews, std::max((Int) 1 ,m_iNumberOfSynthViews)); 1089 xDeleteArray( m_adSynthViewShiftLUT, m_iNumberOfBaseViews, std::max((Int) 1 ,m_iNumberOfSynthViews), 2 ); 1090 xDeleteArray( m_aiSynthViewShiftLUT, m_iNumberOfBaseViews, std::max( (Int)1 ,m_iNumberOfSynthViews), 2 ); 1084 1091 1085 1092 xDeleteArray( m_aaiCodedScale, m_iNumberOfBaseViews ); … … 1087 1094 xDeleteArray( m_aaiScaleAndOffsetSet, m_iNumberOfBaseViews ); 1088 1095 1096 #if H_3D_PDM_CAM_PARAS 1089 1097 xDeleteArray( m_aaiPdmScaleNomDelta, m_iNumberOfBaseViews ); 1090 1098 xDeleteArray( m_aaiPdmOffset, m_iNumberOfBaseViews ); 1099 #endif 1091 1100 } 1092 1101 … … 1106 1115 1107 1116 Int iViewOrderIdx = (Int)( m_aadCameraParameters[ uiRow ][ 1 ] ); 1108 iMinViewOrderIdx = Min( iViewOrderIdx, iMinViewOrderIdx );1117 iMinViewOrderIdx = std::min( iViewOrderIdx, iMinViewOrderIdx ); 1109 1118 1110 1119 aiViewOrderIdx .push_back( iViewOrderIdx ); … … 1121 1130 m_aiBaseId2SortedId.push_back( iCurBaseView ); 1122 1131 m_aiBaseSortedId2Id.push_back( iCurBaseView ); 1123 1124 1132 } 1125 1133 … … 1332 1340 xInit2dArray ( (UInt)m_iNumberOfBaseViews, (UInt)m_iNumberOfBaseViews, m_aaiScaleAndOffsetSet, 0 ); 1333 1341 1342 #if H_3D_PDM_CAM_PARAS 1334 1343 xCreate2dArray( (UInt)m_iNumberOfBaseViews, (UInt)m_iNumberOfBaseViews, m_aaiPdmScaleNomDelta ); 1335 1344 xCreate2dArray( (UInt)m_iNumberOfBaseViews, (UInt)m_iNumberOfBaseViews, m_aaiPdmOffset ); … … 1337 1346 //===== init disparity to virtual depth conversion parameters ===== 1338 1347 xSetPdmConversionParams(); 1348 #endif 1339 1349 1340 1350 //===== init arrays for first frame ===== … … 1385 1395 } 1386 1396 1397 Bool bInterpolateFirst = true; 1398 Bool bAnyInterpolated = false; 1387 1399 for( UInt uiERView = 0; uiERView < m_aiSynthViews.size() && !m_bSetupFromCoded; uiERView++ ) 1388 1400 { … … 1394 1406 bInterpolated |= bInterpolatedCur; 1395 1407 } 1408 1396 1409 if( bInterpolated ) 1397 1410 { 1398 std::cout << "Interpolating Camera Parameters for View " << (Double)m_aiSynthViews[ uiERView ] / m_dViewNumPrec << std::endl; 1399 } 1400 } 1411 bAnyInterpolated = true; 1412 if ( bInterpolateFirst ) 1413 { 1414 std::cout << "Interpolating Camera Parameters for View(s) " ; 1415 bInterpolateFirst = false; 1416 } 1417 std::cout << (Double)m_aiSynthViews[ uiERView ] / m_dViewNumPrec << " " ; 1418 } 1419 } 1420 if ( bAnyInterpolated ) 1421 std::cout << std::endl; 1401 1422 } 1402 1423 … … 1433 1454 } 1434 1455 1435 #if SAIT_VSO_EST_A00331436 Void 1437 TAppComCamPara:: xSetDispCoeff( UInt uiFrameId, Int iViewIdx )1456 #if H_3D_VSO 1457 Void 1458 TAppComCamPara::setDispCoeff( UInt uiFrameId, Int iViewIdx ) 1438 1459 { 1439 1460 UInt uiFrame = m_uiFirstFrameId + uiFrameId; … … 1453 1474 xGetZNearZFar ( iSourceViewNum, uiFrame, dZN1, dZF1 ); 1454 1475 1455 dBaseLine = ( Max( dPos[0], Max( dPos[1], dPos[2] ) ) - Min( dPos[0], Min( dPos[1], dPos[2] ) ) ) / 2.0;1476 dBaseLine = ( std::max( dPos[0], std::max( dPos[1], dPos[2] ) ) - std::min( dPos[0], std::min( dPos[1], dPos[2] ) ) ) / 2.0; 1456 1477 } 1457 1478 else if( m_iNumberOfBaseViews == 2 ) … … 1465 1486 dBaseLine = dPos[0] - dPos[1]; 1466 1487 } 1467 1468 1488 1469 1489 m_dDispCoeff = fabs( dFL1 * ( dBaseLine / 2.0 ) / 255.0 * ( 1.0/dZN1 - 1.0/dZF1 ) ); … … 1510 1530 return xGetViewId(m_aiRelSynthViewsNum, iRelNum ); 1511 1531 } 1532 #endif -
branches/HTM-DEV-0.2-dev/source/Lib/TAppCommon/TAppComCamPara.h
r438 r446 66 66 Bool m_bSetupFromCoded; ///< setup from coded parameter file 67 67 Bool m_bCamParsCodedPrecSet; ///< Coded Cam Para precision set for current frame; 68 69 #ifSAIT_VSO_EST_A003368 69 //SAIT_VSO_EST_A0033 70 70 Double m_dDispCoeff; 71 #endif72 71 73 72 // view lists … … 90 89 Int** m_aaiScaleAndOffsetSet; ///< array indicating whether scale and offset have been set 91 90 91 #if H_3D_PDM_CAM_PARAS 92 92 // parameters for virtual depth map generation 93 93 Int m_iPdmPrecision; ///< additional precision for disparity - virtual depth conversion 94 94 Int** m_aaiPdmScaleNomDelta; ///< [TargetView][RefView] delta for nominator of scale factor 95 95 Int** m_aaiPdmOffset; ///< [TargetView][RefView] offset parameter 96 #endif 96 97 97 98 // scale and offset parameters … … 182 183 183 184 Int synthRelNum2Idx ( Int iRelNum ); 184 Bool getLeftRightBaseView( Int iSynthViewIdx, Int &riLeftViewIdx, Int &riRightViewIdx, Int &riRelDistToLeft, Bool& rbIsBaseView );185 Bool getLeftRightBaseView ( Int iSynthViewIdx, Int &riLeftViewIdx, Int &riRightViewIdx, Int &riRelDistToLeft, Bool& rbIsBaseView ); 185 186 Int getRelDistLeft ( Int iSynthViewIdx, Int iLeftViewIdx, Int iRightViewIdx ); 186 187 UInt getCurFrameId () { return m_iCurrentFrameId; } 187 188 static Void convertNumberString ( Char* pchViewNumberString, std::vector<Int>& raiViewNumbers, Double dViewNumPrec ); 188 189 189 #if SAIT_VSO_EST_A0033 190 Void xSetDispCoeff( UInt uiStartFrameId, Int iViewIdx ); 191 Double getDispCoeff() { return m_dDispCoeff; } 190 #if H_3D_VSO 191 // SAIT_VSO_EST_A033 192 Void setDispCoeff ( UInt uiStartFrameId, Int iViewIdx ); 193 Double getDispCoeff () { return m_dDispCoeff; } 192 194 #endif 193 195 … … 216 218 Int** getCodedOffset () { return m_aaiCodedOffset; } 217 219 220 #if H_3D_PDM_CAM_PARAS 218 221 // parameters for virtual depth map generation 219 222 Int getPdmPrecision () { return m_iPdmPrecision; } 220 223 Int** getPdmScaleNomDelta () { return m_aaiPdmScaleNomDelta; } 221 224 Int** getPdmOffset () { return m_aaiPdmOffset; } 225 #endif 222 226 }; 223 227 -
branches/HTM-DEV-0.2-dev/source/Lib/TAppCommon/program_options_lite.h
r438 r446 46 46 #endif 47 47 #endif 48 49 48 //! \ingroup TAppCommon 50 49 //! \{ … … 283 282 } 284 283 #endif 285 286 284 /** Option class for argument handling using a user provided function */ 287 285 struct OptionFunc : public OptionBase … … 382 380 } 383 381 #endif 384 385 382 /** 386 383 * Add option described by name to the parent Options list,
Note: See TracChangeset for help on using the changeset viewer.