mirror of
https://github.com/opencv/opencv.git
synced 2024-11-25 03:30:34 +08:00
Merge pull request #13555 from qchateau:nr_blocks_gain_filtering_iterations
This commit is contained in:
commit
78da679472
@ -159,12 +159,14 @@ class CV_EXPORTS_W BlocksCompensator : public ExposureCompensator
|
||||
{
|
||||
public:
|
||||
BlocksCompensator(int bl_width=32, int bl_height=32, int nr_feeds=1)
|
||||
: bl_width_(bl_width), bl_height_(bl_height), nr_feeds_(nr_feeds) {}
|
||||
: bl_width_(bl_width), bl_height_(bl_height), nr_feeds_(nr_feeds), nr_gain_filtering_iterations_(2) {}
|
||||
CV_WRAP void apply(int index, Point corner, InputOutputArray image, InputArray mask) CV_OVERRIDE;
|
||||
CV_WRAP void getMatGains(CV_OUT std::vector<Mat>& umv) CV_OVERRIDE;
|
||||
CV_WRAP void setMatGains(std::vector<Mat>& umv) CV_OVERRIDE;
|
||||
CV_WRAP void setNrFeeds(int nr_feeds) { nr_feeds_ = nr_feeds; }
|
||||
CV_WRAP int getNrFeeds() { return nr_feeds_; }
|
||||
CV_WRAP void setNrGainsFilteringIterations(int nr_iterations) { nr_gain_filtering_iterations_ = nr_iterations; }
|
||||
CV_WRAP int getNrGainsFilteringIterations() const { return nr_gain_filtering_iterations_; }
|
||||
|
||||
protected:
|
||||
template<class Compensator>
|
||||
@ -178,6 +180,7 @@ private:
|
||||
int bl_width_, bl_height_;
|
||||
std::vector<UMat> gain_maps_;
|
||||
int nr_feeds_;
|
||||
int nr_gain_filtering_iterations_;
|
||||
};
|
||||
|
||||
/** @brief Exposure compensator which tries to remove exposure related artifacts by adjusting image block
|
||||
|
@ -411,8 +411,8 @@ void BlocksCompensator::feed(const std::vector<Point> &corners, const std::vecto
|
||||
UMat gain_map = getGainMap(compensator, bl_idx, bl_per_img);
|
||||
bl_idx += bl_per_img.width*bl_per_img.height;
|
||||
|
||||
sepFilter2D(gain_map, gain_map, CV_32F, ker, ker);
|
||||
sepFilter2D(gain_map, gain_map, CV_32F, ker, ker);
|
||||
for (int i=0; i<nr_gain_filtering_iterations_; ++i)
|
||||
sepFilter2D(gain_map, gain_map, CV_32F, ker, ker);
|
||||
|
||||
gain_maps_[img_idx] = gain_map;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user