#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; double m_MaxVal, m_MinVal; m_pCamera->m_pCamera->GetFeatureInfo("ExposureTime", m_pCamera->m_pFeature); m_pCamera->m_pFeature->GetMax(&m_MaxVal); m_pCamera->m_pFeature->GetMin(&m_MinVal); if (val < m_MinVal) { val = m_MinVal; } if (val > m_MaxVal) { val = m_MaxVal; } BOOL isAvailable; m_pCamera->m_pCamera->IsFeatureAvailable("ExposureTime", &isAvailable);//检查节点可以使用 if (isAvailable) { m_pCamera->m_pCamera->SetFeatureValue("ExposureTime", val); } return bret; } /// 获取曝光值 0.000001 ~ 30.000000 sec double CamParamConfig::getExposure() { double values = -1; BOOL isAvailable; m_pCamera->m_pCamera->IsFeatureAvailable("ExposureTime", &isAvailable);//检查节点可以使用 if (isAvailable) { m_pCamera->m_pCamera->GetFeatureValue("ExposureTime", &values); } return values; } /// 设置曝光值自动 bool CamParamConfig::setExposureAuto( bool b) { bool bret = true; bret = false; return bret; } /// 曝光是否自动 bool CamParamConfig::isExposureAuto( ) { bool bret = true; bret = false; return bret; } /// 设置增益值 bool CamParamConfig::setGain( int val ) { double fVal = val / 100.0; bool bret = true; double m_MaxVal, m_MinVal; m_pCamera->m_pCamera->GetFeatureInfo("Gain", m_pCamera->m_pFeature); m_pCamera->m_pFeature->GetMax(&m_MaxVal); m_pCamera->m_pFeature->GetMin(&m_MinVal); if (fVal < m_MinVal) { fVal = m_MinVal; } if (fVal > m_MaxVal) { fVal = m_MaxVal; } BOOL isAvailable; m_pCamera->m_pCamera->IsFeatureAvailable("Gain", &isAvailable);//检查节点可以使用 if (isAvailable) { m_pCamera->m_pCamera->SetFeatureValue("Gain", fVal); } return bret; } /// 获取增益值 int CamParamConfig::getGain() { double values = -1; BOOL isAvailable; m_pCamera->m_pCamera->IsFeatureAvailable("Gain", &isAvailable);//检查节点可以使用 if (isAvailable) { m_pCamera->m_pCamera->GetFeatureValue("Gain", &values); } values = values * 100.0; return values; } /// 设置增益值自动 bool CamParamConfig::setGainAuto( bool b ) { bool bret = true; bret = false; return bret; } /// 增益是否自动 bool CamParamConfig::isGainAuto( ) { bool bret = true; bret = false; 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; }