Skip to content

Commit 4317e27

Browse files
committed
Merge pull request #1128 from savuor:fix/xphoto_inpaint_copy
2 parents 5169619 + e1fd238 commit 4317e27

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

modules/xphoto/src/annf.hpp

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -128,11 +128,19 @@ KDTree(const cv::Mat &img, const int _leafNumber, const int _zeroThresh)
128128
leafNumber(_leafNumber), zeroThresh(_zeroThresh)
129129
///////////////////////////////////////////////////
130130
{
131-
CV_Assert( img.isContinuous() );
131+
int imgch = img.channels();
132+
CV_Assert( img.isContinuous() && imgch <= cn);
133+
134+
for(size_t i = 0; i < img.total(); i++)
135+
{
136+
cv::Vec<Tp, cn> v = cv::Vec<Tp, cn>::all((Tp)0);
137+
for (int c = 0; c < imgch; c++)
138+
{
139+
v[c] = *((Tp*)(img.data) + i*imgch + c);
140+
}
141+
data.push_back(v);
142+
}
132143

133-
std::copy( (cv::Vec <Tp, cn> *) img.data,
134-
(cv::Vec <Tp, cn> *) img.data + img.total(),
135-
std::back_inserter(data) );
136144
generate_seq( std::back_inserter(idx), 0, int(data.size()) );
137145
std::fill_n( std::back_inserter(nodes),
138146
int(data.size()), cv::Point2i(0, 0) );

0 commit comments

Comments
 (0)