Перейти к содержимому
Compvision.ru

Recommended Posts

Добрый.

 

Друзья, вопрос возможно тривиален, но я не нашел на него ответ. Проблема заключается в следующем:

 

Необходимо производить ресайз изображения, если он больше определенного размера. Код ниже выполняется в следующих случаях:

 

- изображение по длинной стороне больше 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 ) ресайзится без проблем.
 
В чем причина, и как это можно решить? 
Изображение уменьшаю для детектора, т.к на меньшем изображении поиск необходимых элементов выполняется быстрее.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах
if(img.rows > 1000){
resize(img, dst, Size(), coefX , coefY, INTER_CUBIC);
}
else
{
    dst = img;
}
  • Like 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Создайте учётную запись или войдите для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать учётную запись

Зарегистрируйтесь для создания учётной записи. Это просто!

Зарегистрировать учётную запись

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас


  • Сейчас на странице   0 пользователей

    Нет пользователей, просматривающих эту страницу

×