Merge pull request #642 from taka-no-me:fix1

pull/645/merge
Andrey Kamaev 12 years ago committed by OpenCV Buildbot
commit b076b69e68
  1. 1
      3rdparty/libwebp/CMakeLists.txt
  2. 1
      modules/core/src/lapack.cpp
  3. 2
      modules/highgui/src/grfmt_webp.cpp
  4. 8
      modules/imgproc/src/convhull.cpp
  5. 2
      modules/imgproc/src/demosaicing.cpp
  6. 2
      modules/imgproc/test/test_color.cpp
  7. 2
      modules/softcascade/src/softcascade.cpp
  8. 2
      modules/stitching/src/matchers.cpp

@ -41,6 +41,7 @@ if(UNIX)
endif() endif()
ocv_warnings_disable(CMAKE_C_FLAGS -Wunused-variable -Wshadow) ocv_warnings_disable(CMAKE_C_FLAGS -Wunused-variable -Wshadow)
ocv_warnings_disable(CMAKE_C_FLAGS /wd4244 /wd4267) # vs2005
set_target_properties(${WEBP_LIBRARY} set_target_properties(${WEBP_LIBRARY}
PROPERTIES OUTPUT_NAME ${WEBP_LIBRARY} PROPERTIES OUTPUT_NAME ${WEBP_LIBRARY}

@ -878,6 +878,7 @@ double cv::determinant( InputArray _mat )
size_t step = mat.step; size_t step = mat.step;
const uchar* m = mat.data; const uchar* m = mat.data;
CV_Assert( !mat.empty() );
CV_Assert( mat.rows == mat.cols && (type == CV_32F || type == CV_64F)); CV_Assert( mat.rows == mat.cols && (type == CV_32F || type == CV_64F));
#define Mf(y, x) ((float*)(m + y*step))[x] #define Mf(y, x) ((float*)(m + y*step))[x]

@ -176,7 +176,7 @@ bool WebPEncoder::write(const Mat& img, const std::vector<int>& params)
const Mat *image = &img; const Mat *image = &img;
Mat temp; Mat temp;
int size = 0; size_t size = 0;
bool comp_lossless = true; bool comp_lossless = true;
int quality = 100; int quality = 100;

@ -206,9 +206,9 @@ void convexHull( InputArray _points, OutputArray _hull, bool clockwise, bool ret
} }
for( i = 0; i < tl_count-1; i++ ) for( i = 0; i < tl_count-1; i++ )
hullbuf[nout++] = pointer[tl_stack[i]] - data0; hullbuf[nout++] = int(pointer[tl_stack[i]] - data0);
for( i = tr_count - 1; i > 0; i-- ) for( i = tr_count - 1; i > 0; i-- )
hullbuf[nout++] = pointer[tr_stack[i]] - data0; hullbuf[nout++] = int(pointer[tr_stack[i]] - data0);
int stop_idx = tr_count > 2 ? tr_stack[1] : tl_count > 2 ? tl_stack[tl_count - 2] : -1; int stop_idx = tr_count > 2 ? tr_stack[1] : tl_count > 2 ? tl_stack[tl_count - 2] : -1;
// lower half // lower half
@ -244,9 +244,9 @@ void convexHull( InputArray _points, OutputArray _hull, bool clockwise, bool ret
} }
for( i = 0; i < bl_count-1; i++ ) for( i = 0; i < bl_count-1; i++ )
hullbuf[nout++] = pointer[bl_stack[i]] - data0; hullbuf[nout++] = int(pointer[bl_stack[i]] - data0);
for( i = br_count-1; i > 0; i-- ) for( i = br_count-1; i > 0; i-- )
hullbuf[nout++] = pointer[br_stack[i]] - data0; hullbuf[nout++] = int(pointer[br_stack[i]] - data0);
} }
if( !returnPoints ) if( !returnPoints )

@ -316,7 +316,7 @@ public:
_mm_storel_epi64((__m128i*)(dst+6*6), g1); _mm_storel_epi64((__m128i*)(dst+6*6), g1);
} }
return bayer - (bayer_end - width); return int(bayer - (bayer_end - width));
} }
bool use_simd; bool use_simd;

@ -1960,7 +1960,7 @@ static void test_Bayer2RGB_EdgeAware_8u(const Mat& src, Mat& dst, int code)
int dcn = dst.channels(); int dcn = dst.channels();
CV_Assert(dcn == 3); CV_Assert(dcn == 3);
int step = src.step; int step = (int)src.step;
const uchar* S = src.ptr<uchar>(1) + 1; const uchar* S = src.ptr<uchar>(1) + 1;
uchar* D = dst.ptr<uchar>(1) + dcn; uchar* D = dst.ptr<uchar>(1) + dcn;

@ -53,7 +53,7 @@ namespace {
struct SOctave struct SOctave
{ {
SOctave(const int i, const cv::Size& origObjSize, const cv::FileNode& fn) SOctave(const int i, const cv::Size& origObjSize, const cv::FileNode& fn)
: index(i), weaks((int)fn[SC_OCT_WEAKS]), scale(std::pow(2,(float)fn[SC_OCT_SCALE])), : index(i), weaks((int)fn[SC_OCT_WEAKS]), scale((float)std::pow(2,(float)fn[SC_OCT_SCALE])),
size(cvRound(origObjSize.width * scale), cvRound(origObjSize.height * scale)) {} size(cvRound(origObjSize.width * scale), cvRound(origObjSize.height * scale)) {}
int index; int index;

@ -573,7 +573,7 @@ void BestOf2NearestMatcher::match(const ImageFeatures &features1, const ImageFea
// Find pair-wise motion // Find pair-wise motion
matches_info.H = findHomography(src_points, dst_points, matches_info.inliers_mask, CV_RANSAC); matches_info.H = findHomography(src_points, dst_points, matches_info.inliers_mask, CV_RANSAC);
if (std::abs(determinant(matches_info.H)) < std::numeric_limits<double>::epsilon()) if (matches_info.H.empty() || std::abs(determinant(matches_info.H)) < std::numeric_limits<double>::epsilon())
return; return;
// Find number of inliers // Find number of inliers

Loading…
Cancel
Save