Добрый.
Друзья, вопрос возможно тривиален, но я не нашел на него ответ. Проблема заключается в следующем:
Необходимо производить ресайз изображения, если он больше определенного размера. Код ниже выполняется в следующих случаях:
- изображение по длинной стороне больше 1000 px
Mat img = imread(filename);
if(img.rows > 1000){
resize(img, dst, Size(), coefX , coefY, INTER_CUBIC);
}
//далее производим действия с картинкой
В случае, если изображение меньше 1000 px , программа вылетает с ошибкой на входе в условие:
OpenCV Error: Assertion failed (scn == 3 || scn == 4) in cv::cvtColor, file C:\b
uildslave64\win64_amdocl\2_4_PackSlave-win32-vc11-shared\opencv\modules\imgproc\
src\color.cpp, line 3739
Если убрать условие, то тоже самое изображение ( которое менее 1000 px ) ресайзится без проблем.
В чем причина, и как это можно решить?
Изображение уменьшаю для детектора, т.к на меньшем изображении поиск необходимых элементов выполняется быстрее.