diff --git a/modules/stitching/src/matchers.cpp b/modules/stitching/src/matchers.cpp index 2231d1368..d05afff24 100644 --- a/modules/stitching/src/matchers.cpp +++ b/modules/stitching/src/matchers.cpp @@ -348,7 +348,15 @@ SurfFeaturesFinder::SurfFeaturesFinder(double hess_thresh, int num_octaves, int void SurfFeaturesFinder::find(const Mat &image, ImageFeatures &features) { Mat gray_image; - CV_Assert(image.type() == CV_8UC3); + CV_Assert((image.type() == CV_8UC3) || (image.type() == CV_8UC1)); + if(image.type() == CV_8UC3) + { + cvtColor(image, gray_image, CV_BGR2GRAY); + } + else + { + gray_image = image; + } cvtColor(image, gray_image, CV_BGR2GRAY); if (surf == 0) {