123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243 |
- #include "CamParamConfig.h"
- #include "EntityCamera.h"
- CamParamConfig::CamParamConfig(EntityCamera* cam ) :
- m_pCamera( cam )
- {
- }
- CamParamConfig::~CamParamConfig(void)
- {
- }
- /*--------ICamParamConfig-----*/
- /// 配置参数
- bool CamParamConfig::configParam( const QString configXML )
- {
- bool bret = true;
- // bret = mGrabber->loadDeviceStateFromFile( (LPCTSTR)configXML );
- bret = false;
- return bret;
- }
- /// 设置曝光值
- bool CamParamConfig::setExposure( double val )
- {
- bool bret = true;
- CInstantCamera* camera = m_pCamera->cameraCtrl();
- INodeMap& nodemap = camera->GetNodeMap();
- CIntegerPtr ptrExposureTimeRaw(nodemap.GetNode("ExposureTimeRaw"));
- ptrExposureTimeRaw->SetValue(val);
- return bret;
- }
- /// 获取曝光值 0.000001 ~ 30.000000 sec
- double CamParamConfig::getExposure()
- {
- double dval = 0.00;
- CInstantCamera* camera = m_pCamera->cameraCtrl();
- INodeMap& nodemap = camera->GetNodeMap();
- CIntegerPtr ptrExposureTimeRaw(nodemap.GetNode("ExposureTimeRaw"));
- if (true == IsReadable(ptrExposureTimeRaw))
- {
- int64_t exposureTimeRaw = ptrExposureTimeRaw->GetValue();
- dval = (double)exposureTimeRaw;
- }
- return dval;
- }
- /// 设置曝光值自动
- bool CamParamConfig::setExposureAuto( bool b)
- {
- bool bret = true;
- CInstantCamera* camera = m_pCamera->cameraCtrl();
- INodeMap& nodemap = camera->GetNodeMap();
- CEnumerationPtr ptrExposureAuto(nodemap.GetNode("ExposureAuto"));
- bret = IsWritable(ptrExposureAuto);
- if (true == bret)
- {
- if (true == b)
- {
- ptrExposureAuto->FromString("Continuous");
- ptrExposureAuto->SetIntValue(2);
- }
- else
- {
- ptrExposureAuto->FromString("Off");
- ptrExposureAuto->SetIntValue(0);
- }
- }
- return bret;
- }
- /// 曝光是否自动
- bool CamParamConfig::isExposureAuto( )
- {
- bool bret = true;
- CInstantCamera* camera = m_pCamera->cameraCtrl();
- INodeMap& nodemap = camera->GetNodeMap();
- CEnumerationPtr ptrExposureAuto(nodemap.GetNode("ExposureAuto"));
- int64_t exposureAuto = ptrExposureAuto->GetIntValue();
- bret = ((0 == exposureAuto) ? false : true);
- return bret;
- }
- /// 设置增益值
- bool CamParamConfig::setGain( int val )
- {
- bool bret = true;
- // CInstantCamera* camera = m_pCamera->cameraCtrl();
- // INodeMap& nodemap = camera->GetNodeMap();
- // CIntegerPtr PtrgainRaw(nodemap.GetNode("GainRaw"));
- // bret = IsWritable(PtrgainRaw);
- // if (true == bret)
- // {
- // double dval = ((95.0 / 100.0) * (float)val) + 0.5;
- // PtrgainRaw->SetValue(dval);
- // }
- return bret;
- }
- /// 获取增益值
- int CamParamConfig::getGain()
- {
- int val = -1;
- CInstantCamera* camera = m_pCamera->cameraCtrl();
- INodeMap& nodemap = camera->GetNodeMap();
- CIntegerPtr PtrgainRaw(nodemap.GetNode("GainRaw"));
- int64_t gainRaw = PtrgainRaw->GetValue();
- val = int(((100.0 / 95.0) * (float)gainRaw) + 0.5);
- return val;
- }
- /// 设置增益值自动
- bool CamParamConfig::setGainAuto( bool b )
- {
- bool bret = true;
- CInstantCamera* camera = m_pCamera->cameraCtrl();
- INodeMap& nodemap = camera->GetNodeMap();
- CEnumerationPtr PtrgainAuto(nodemap.GetNode("GainAuto"));
- bret = IsWritable(PtrgainAuto);
- if (true == bret)
- {
- if (true == b)
- {
- PtrgainAuto->FromString("Continuous");
- PtrgainAuto->SetIntValue(2);
- }
- else
- {
- PtrgainAuto->FromString("Off");
- PtrgainAuto->SetIntValue(0);
- }
- }
- return bret;
- }
- /// 增益是否自动
- bool CamParamConfig::isGainAuto( )
- {
- bool bret = true;
- CInstantCamera* camera = m_pCamera->cameraCtrl();
- INodeMap& nodemap = camera->GetNodeMap();
- CEnumerationPtr PtrgainAuto(nodemap.GetNode("GainAuto"));
- int64_t gainAuto = PtrgainAuto->GetIntValue();
- bret = ((0 == gainAuto) ? false : true);
- return bret;
- }
- /// 设置白平衡 参数值范围:0~255
- bool CamParamConfig::setWhiteBalance( colourRgb rgb, int val )
- {
- bool bret = true;
- bret = false;
- return bret;
- }
- /// 获取白平衡值
- int CamParamConfig::getWhiteBalance( colourRgb rgb )
- {
- int val = 10;
- return val;
- }
- /// 设置白平衡自动
- bool CamParamConfig::setWhiteBalanceAuto( bool b )
- {
- bool bret = true;
- return bret;
- }
- /// 白平衡是否自动
- bool CamParamConfig::isWhiteBalanceAuto( )
- {
- bool bret = true;
- bret = false;
- return bret;
- }
- ///////////////////////////////
- /*--------CamParamConfig-----*/
- /// 获取亮度值 -10~30
- int CamParamConfig::brightnes()
- {
- long val = -1;
- long values = 10;
- return values;
- }
- /// 获取对比度值 -10~30
- int CamParamConfig::contrast()
- {
- long val = -1;
- long values = 10;
- return values;
- }
- /// 获取清晰度值 0~14
- int CamParamConfig::distinct()
- {
- long val = -1;
- val = 10;
- return val;
- }
- /// 获取伽马校正因子
- int CamParamConfig::gammaFactor()
- {
- long val = -1;
-
- long values = 10;
- return values;
- }
- /// 设置亮度值-10~30
- bool CamParamConfig::setBrightnes( int val )
- {
- bool bret = true;
-
- return bret;
- }
- /// 设置对比度值-10~30
- bool CamParamConfig::setContrast( int val )
- {
- bool bret = true;
-
- return bret;
- }
- /// 设置清晰度值
- bool CamParamConfig::setDistinct( int val )
- {
- bool bret = true;
-
- return bret;
- }
- /// 设置伽马校正因子
- bool CamParamConfig::setGammaFactor( int val )
- {
- bool bret = true;
-
- return bret;
- }
|