maxfashko 5 Жалоба Опубликовано March 27, 2015 Добрый. Друзья, вопрос возможно тривиален, но я не нашел на него ответ. Проблема заключается в следующем: Необходимо производить ресайз изображения, если он больше определенного размера. Код ниже выполняется в следующих случаях: - изображение по длинной стороне больше 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 ) ресайзится без проблем. В чем причина, и как это можно решить? Изображение уменьшаю для детектора, т.к на меньшем изображении поиск необходимых элементов выполняется быстрее. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано March 27, 2015 if(img.rows > 1000){ resize(img, dst, Size(), coefX , coefY, INTER_CUBIC); } else { dst = img; } 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
maxfashko 5 Жалоба Опубликовано March 27, 2015 ...... изображение ведь не создавалось. Спасибо! Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах