mStereoParam(),
mIsStereoCalibrated(false),
mUpdateStereoCalibration(false),
- mImageSize(640, 480)
+ mImageSize(cv::Size(0,0))
{
LOGI("ENTER");
mCalibFilePath += std::string(DEFAULT_STEREO_CALIB_FILE_NAME);
LOGI("LEAVE");
}
- void DfsOCV::Initialize(DfsParameter& param)
+ void DfsOCV::Initialize(DfsParameter& param, size_t width, size_t height)
{
LOGI("ENTER");
mDfsParam = param;
-
+ mImageSize = cv::Size(width, height);
mDfsOcv = cv::StereoSGBM::create(1, mNumDisparities, mBlockSize);
this->SetParameters();
LOGI("ENTER");
}
+
void DfsOCV::Run(DfsData& base, DfsData& extra)
{
LOGI("ENTER");
throw std::runtime_error("invalid data pointer");
}
+ if (cv::Size(base.width, base.height) != mImageSize ||
+ cv::Size(extra.width, extra.height) != mImageSize) {
+ throw std::runtime_error("invalid size");
+ }
+
int baseCvType = ConvertDfsDataTypeToCV(base.type);
int extraCvType = ConvertDfsDataTypeToCV(extra.type);
if (baseCvType < 0 || extraCvType < 0) {
DfsOCV();
~DfsOCV();
- void Initialize(DfsParameter& param) override;
+ void Initialize(DfsParameter& param, size_t width, size_t height) override;
void Run(DfsData& base, DfsData& extra) override;
DfsData& GetDepthData() override;