I haven't got this to build yet, but have encountered the following warnings at least
diff --git a/src/criminisi_inpainter.cpp b/src/criminisi_inpainter.cpp
index c23e912..55415fe 100644
--- a/src/criminisi_inpainter.cpp
+++ b/src/criminisi_inpainter.cpp
@@ -17,6 +17,8 @@
along with Inpaint. If not, see <http://www.gnu.org/licenses/>.
*/
+#include <limits>
+
#include <inpaint/criminisi_inpainter.h>
#include <inpaint/patch.h>
#include <inpaint/timer.h>
@@ -315,4 +317,4 @@ namespace Inpaint {
ci.image().copyTo(image.getMat());
}
-}
\ No newline at end of file
+}
/tmp/inpaint/src/template_match_candidates.cpp: In member function ‘void Inpaint::TemplateMatchCandidates::removeInvalidBlocks(const cv::Mat&, std::vector<cv::Rect_<int> >&)’:
/tmp/inpaint/src/template_match_candidates.cpp:220:13: warning: lambda expressions only available with -std=c++11 or -std=gnu++11 [enabled by default]
}), rects.end())
/tmp/inpaint/src/template_match_candidates.cpp:220:14: error: no matching function for call to ‘remove_if(std::vector<cv::Rect_<int> >::iterator, std::vector<cv::Rect_<int> >::iterator, Inpaint::TemplateMatchCandidates::removeInvalidBlocks(const cv::Mat&, std::vector<cv::Rect_<int> >&)::__lambda0)’
}), rects.end());
^
/tmp/inpaint/src/template_match_candidates.cpp:220:14: note: candidate is:
In file included from /usr/include/c++/4.8/algorithm:62:0,
from /tmp/inpaint/src/template_match_candidates.cpp:20:
/usr/include/c++/4.8/bits/stl_algo.h:1134:5: note: template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate)
remove_if(_ForwardIterator __first, _ForwardIterator __last,
^
/usr/include/c++/4.8/bits/stl_algo.h:1134:5: note: template argument deduction/substitution failed:
/tmp/inpaint/src/template_match_candidates.cpp: In substitution of ‘template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate) [with _FIter = __gnu_cxx::__normal_iterator<cv::Rect_<int>*, std::vector<cv::Rect_<int> > >; _Predicate = Inpaint::TemplateMatchCandidates::removeInvalidBlocks(const cv::Mat&, std::vector<cv::Rect_<int> >&)::__lambda0]’:
/tmp/inpaint/src/template_match_candidates.cpp:220:14: required from here
/tmp/inpaint/src/template_match_candidates.cpp:220:14: error: template argument for ‘template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate)’ uses local type ‘Inpaint::TemplateMatchCandidates::removeInvalidBlocks(const cv::Mat&, std::vector<cv::Rect_<int> >&)::__lambda0’
}), rects.end());
^
/tmp/inpaint/src/template_match_candidates.cpp:220:14: error: trying to instantiate ‘template<class _FIter, class _Predicate> _FIter std::remove_if(_FIter, _FIter, _Predicate)’
/tmp/inpaint/src/template_match_candidates.cpp: In function ‘void Inpaint::findTemplateMatchCandidates(cv::InputArray, cv::InputArray, cv::InputArray, cv::OutputArray, cv::Size, int, float)’:
/tmp/inpaint/src/template_match_candidates.cpp:245:117: error: no matching function for call to ‘Inpaint::TemplateMatchCandidates::findCandidates(cv::Mat, cv::Mat, cv::Mat, int&, float&)’
tmc.findCandidates(templ.getMat(), templMask.getMat(), candidates.getMat(), maxWeakErrors, maxMeanDifference);
^
/tmp/inpaint/src/template_match_candidates.cpp:245:117: note: candidate is:
/tmp/inpaint/src/template_match_candidates.cpp:66:10: note: void Inpaint::TemplateMatchCandidates::findCandidates(const cv::Mat&, const cv::Mat&, cv::Mat&, int, float)
void TemplateMatchCandidates::findCandidates(
^
/tmp/inpaint/src/template_match_candidates.cpp:66:10: note: no known conversion for argument 3 from ‘cv::Mat’ to ‘cv::Mat&’
make[2]: *** [CMakeFiles/inpaint.dir/src/template_match_candidates.cpp.o] Error 1
make[1]: *** [CMakeFiles/inpaint.dir/all] Error 2
make: *** [all] Error 2