From 6241296f5bc0b01c48cd1021e258fc15c471b509 Mon Sep 17 00:00:00 2001 From: Balint Cristian Date: Sun, 1 May 2016 11:28:18 +0300 Subject: [PATCH] Allow vector raster bands to SEEDS. --- modules/ximgproc/src/seeds.cpp | 26 +++++++++++++++++++++++++- 1 file changed, 25 insertions(+), 1 deletion(-) diff --git a/modules/ximgproc/src/seeds.cpp b/modules/ximgproc/src/seeds.cpp index f4ce79e72..7fecca3fe 100644 --- a/modules/ximgproc/src/seeds.cpp +++ b/modules/ximgproc/src/seeds.cpp @@ -375,7 +375,31 @@ void SuperpixelSEEDSImpl::initImageBins(const Mat& img, int) void SuperpixelSEEDSImpl::initImage(InputArray img) { - Mat src = img.getMat(); + Mat src; + + if ( img.isMat() ) + { + // get Mat + src = img.getMat(); + + // image should be valid + CV_Assert( !src.empty() ); + } + else if ( img.isMatVector() ) + { + vector vec; + // get vector Mat + img.getMatVector( vec ); + + // array should be valid + CV_Assert( !vec.empty() ); + + // merge into Mat + merge( vec, src ); + } + else + CV_Error( Error::StsInternal, "Invalid InputArray." ); + int depth = src.depth(); seeds_current_level = seeds_nr_levels - 2; forwardbackward = true;