void CropTransformer::InitFromConfig(const ConfigParameters &config) { floatargvector cropRatio = config(L"cropRatio", "1.0"); m_cropRatioMin = cropRatio[0]; m_cropRatioMax = cropRatio[1]; if (!(0 < m_cropRatioMin && m_cropRatioMin <= 1.0) || !(0 < m_cropRatioMax && m_cropRatioMax <= 1.0) || m_cropRatioMin > m_cropRatioMax) { RuntimeError("Invalid cropRatio value, must be > 0 and <= 1. cropMin must " "<= cropMax"); } m_jitterType = ParseJitterType(config(L"jitterType", "")); if (!config.ExistsCurrent(L"hflip")) { m_hFlip = m_imageConfig->GetCropType() == CropType::Random; } else { m_hFlip = config(L"hflip"); } m_aspectRatioRadius = config(L"aspectRatioRadius", ConfigParameters::Array(doubleargvector(vector<double>{0.0}))); }
IntensityTransformer::IntensityTransformer(const ConfigParameters &config) : ImageTransformerBase(config) { m_stdDev = config(L"intensityStdDev", ConfigParameters::Array(doubleargvector(vector<double>{0.0}))); std::wstring intFile = config(L"intensityFile", L""); if (intFile.empty()) { m_eigVal.release(); m_eigVec.release(); } else { cv::FileStorage fs; fs.open(msra::strfun::utf8(intFile).c_str(), cv::FileStorage::READ); if (!fs.isOpened()) RuntimeError("Could not open file: %ls", intFile.c_str()); fs["EigVal"] >> m_eigVal; if (m_eigVal.rows != 1 || m_eigVal.cols != 3 || m_eigVal.channels() != 1) RuntimeError("Invalid EigVal data in file: %ls", intFile.c_str()); fs["EigVec"] >> m_eigVec; if (m_eigVec.rows != 3 || m_eigVec.cols != 3 || m_eigVec.channels() != 1) RuntimeError("Invalid EigVec data in file: %ls", intFile.c_str()); fs.release(); } }
ColorTransformer::ColorTransformer(const ConfigParameters &config) : ImageTransformerBase(config) { m_brightnessRadius = config(L"brightnessRadius", ConfigParameters::Array(doubleargvector(vector<double>{0.0}))); m_contrastRadius = config(L"contrastRadius", ConfigParameters::Array(doubleargvector(vector<double>{0.0}))); m_saturationRadius = config(L"saturationRadius", ConfigParameters::Array(doubleargvector(vector<double>{0.0}))); }