From eedc83800a867d34156b5c313510707a17016c6b Mon Sep 17 00:00:00 2001 From: Igor Pashev Date: Sat, 30 Sep 2017 19:01:58 +0300 Subject: Imported opencv 2.4.9.1+dfsg1-2 --- debian/patches/fix_ftbfs_with_gcc6 | 71 ++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 debian/patches/fix_ftbfs_with_gcc6 (limited to 'debian/patches/fix_ftbfs_with_gcc6') diff --git a/debian/patches/fix_ftbfs_with_gcc6 b/debian/patches/fix_ftbfs_with_gcc6 new file mode 100644 index 0000000..0706faa --- /dev/null +++ b/debian/patches/fix_ftbfs_with_gcc6 @@ -0,0 +1,71 @@ +Description: gcc-6 build fixes, cherry-picked from Fedora +From: https://pkgs.fedoraproject.org/cgit/rpms/opencv.git/commit/?id=ca7da00ea608b62859a640493a1cd6c0f5802550 +Author: Sérgio M. Basto +Last-Update: 2016-10-04 + +--- opencv-2.4.9.1+dfsg.orig/modules/contrib/src/chamfermatching.cpp ++++ opencv-2.4.9.1+dfsg/modules/contrib/src/chamfermatching.cpp +@@ -966,10 +966,8 @@ void ChamferMatcher::Matching::computeDi + for (int y=0;y(y,x)[0]=x; +- annotate_img.at(y,x)[1]=y; +- } ++ annotate_img.at(y,x)[0]=x; ++ annotate_img.at(y,x)[1]=y; + + uchar edge_val = edges_img.at(y,x); + if( (edge_val!=0) ) { +@@ -1013,10 +1011,8 @@ void ChamferMatcher::Matching::computeDi + dist_img.at(ny,nx) = dist; + q.push(std::make_pair(nx,ny)); + +- if (&annotate_img!=NULL) { +- annotate_img.at(ny,nx)[0]=annotate_img.at(y,x)[0]; +- annotate_img.at(ny,nx)[1]=annotate_img.at(y,x)[1]; +- } ++ annotate_img.at(ny,nx)[0]=annotate_img.at(y,x)[0]; ++ annotate_img.at(ny,nx)[1]=annotate_img.at(y,x)[1]; + } + } + } +@@ -1107,26 +1103,22 @@ ChamferMatcher::Match* ChamferMatcher::M + + float cost = (sum_distance/truncate_)/addr.size(); + ++ float* optr = orientation_img.ptr(y)+x; ++ float sum_orientation = 0; ++ int cnt_orientation = 0; + +- if (&orientation_img!=NULL) { +- float* optr = orientation_img.ptr(y)+x; +- float sum_orientation = 0; +- int cnt_orientation = 0; +- +- for (size_t i=0;iorientations[i]>=-CV_PI && (*(optr+addr[i]))>=-CV_PI) { +- sum_orientation += orientation_diff(tpl->orientations[i], (*(optr+addr[i]))); +- cnt_orientation++; +- } ++ if(addr[i] < (orientation_img.cols*orientation_img.rows) - (offset.y*orientation_img.cols + offset.x)){ ++ if (tpl->orientations[i]>=-CV_PI && (*(optr+addr[i]))>=-CV_PI) { ++ sum_orientation += orientation_diff(tpl->orientations[i], (*(optr+addr[i]))); ++ cnt_orientation++; + } + } ++ } + +- if (cnt_orientation>0) { +- cost = (float)(beta*cost+alpha*(sum_orientation/(2*CV_PI))/cnt_orientation); +- } +- ++ if (cnt_orientation>0) { ++ cost = (float)(beta*cost+alpha*(sum_orientation/(2*CV_PI))/cnt_orientation); + } + + if(cost > 0){ -- cgit v1.2.3