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

Определить основной контур

Recommended Posts

Бинаризирую изображение на черном фоне, с небольшими помехами получается что-то белое на черном фоне, определяю контур так

 

Canny(mat_source, canny_output, 10, 240, 3);
    /// Find contours
findContours(canny_output, contours, hierarchy, CV_RETR_EXTERNAL, CV_CHAIN_APPROX_SIMPLE, Point(0, 0));

 

У меня получается один нужный контур, но когда фотографируемый предмет вылезает за рамки снимка, то получается много контуров, маленьких по площади, как получить один большой и у обрезованного предмета, как бы обрезав контур по границе, которую он пересекает?

 

Спасибо.

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


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

Картинку в студию!

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


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

Выведи перед Canny чёрный прямоугольник размером с изображение (толщина линии 1), чтобы он закрасил все края.

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


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

По идеи можно создать изображение по длине на 20 пикселей по ширене и высоте больше, с черным фоном, скопировать туда изображение по себедине, т.е. + 10 пикс по х и у , только не знаю как это сделать в opencv

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


Ссылка на сообщение
Поделиться на других сайтах
cv::rectangle(img, cv::Rect(0, 0, img.cols - 1, img.rows - 1), cv::Scalar(0, 0, 0));
  • Like 1

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


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

Спасибо, тоже вариант как обойти, хотя урезать изображение конечно не очень хочется.

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


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

Трудно назвать это именно урезанием, ведь твоя задача получить контур? Ты его получишь в точности таким, какой нужен.

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


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

Там была ошибка алгоритма предварительной бинаризации, сейчас исправляю.

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


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

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

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

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

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

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

Войти

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

Войти сейчас


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

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

×