Merge pull request #13566 from qchateau:fix_13563

pull/13580/head
Alexander Alekhin 6 years ago
commit 79e13be04c
  1. 5
      modules/stitching/include/opencv2/stitching/detail/exposure_compensate.hpp
  2. 5
      modules/stitching/src/exposure_compensate.cpp

@ -60,6 +60,7 @@ namespace detail {
class CV_EXPORTS_W ExposureCompensator
{
public:
ExposureCompensator(): updateGain(true) {}
virtual ~ExposureCompensator() {}
enum { NO, GAIN, GAIN_BLOCKS, CHANNELS, CHANNELS_BLOCKS };
@ -189,7 +190,7 @@ public:
CV_WRAP BlocksGainCompensator(int bl_width = 32, int bl_height = 32)
: BlocksGainCompensator(bl_width, bl_height, 1) {}
CV_WRAP BlocksGainCompensator(int bl_width, int bl_height, int nr_feeds)
: BlocksCompensator(bl_width, bl_height, nr_feeds) {setUpdateGain(true);}
: BlocksCompensator(bl_width, bl_height, nr_feeds) {}
void feed(const std::vector<Point> &corners, const std::vector<UMat> &images,
const std::vector<std::pair<UMat,uchar> > &masks) CV_OVERRIDE;
@ -210,7 +211,7 @@ class CV_EXPORTS_W BlocksChannelsCompensator : public BlocksCompensator
{
public:
CV_WRAP BlocksChannelsCompensator(int bl_width=32, int bl_height=32, int nr_feeds=1)
: BlocksCompensator(bl_width, bl_height, nr_feeds) {setUpdateGain(true);}
: BlocksCompensator(bl_width, bl_height, nr_feeds) {}
void feed(const std::vector<Point> &corners, const std::vector<UMat> &images,
const std::vector<std::pair<UMat,uchar> > &masks) CV_OVERRIDE;

@ -62,11 +62,10 @@ Ptr<ExposureCompensator> ExposureCompensator::createDefault(int type)
e = makePtr<ChannelsCompensator>();
else if (type == CHANNELS_BLOCKS)
e = makePtr<BlocksChannelsCompensator>();
if (e.get() != nullptr)
{
e->setUpdateGain(true);
return e;
}
CV_Error(Error::StsBadArg, "unsupported exposure compensation method");
}

Loading…
Cancel
Save