From: Mateusz Loskot (mateusz_at_[hidden])
Date: 2019-06-26 10:42:28
Looking briefly at your https://github.com/miralshah365/gil/blob/adaptive_mean/,
since it's not yet PR-ed, commenting here.
Two immediate issues related to compilation failure:
1. `SrcView temp_conv(src_view);` is copy of `const_view(img)`, in
`const_view`-ed can not be a destination/output as it is used, in
See FIX 1 part in code pasted below.
2 The detail::adaptive_impl in turn expects `const_view`-ed
See FIX 2 part below.
Summary, `SrcView` is used in dual-nature way:
as `view_t` and `const_view_t`, that causes ambiguity.
Below is a combined modification of this part
which should help to illustrate what view types are expected and where:
//SrcView temp_conv(src_view); // BUG: src_view comes from
const_view(img), can not be a destination
// FIX 1
// tmp_img is a shortcut for illustration, you need to consider if such image as
// temporary buffer or in-place convolution is a valid idea - to be
honest, I have not looked
// into details of the numeric extension w.r.t to the in-place
convolution and its limitations.
image<typename SrcView::value_type> tmp_img;
image<typename SrcView::value_type>::view_t tmp_view = view(tmp_img);
// end of FIX 1
kernel_1d<short> kernel(mean, kernel_size, kernel_size / 2);
// FIX 2
// end of FIX 2
Let's discuss if anything is still unclear.
I hope it helps.
-- Mateusz Åoskot, http://mateusz.loskot.net
Boost list run by Boost-Gil-Owners