ter_nk 0 Жалоба Опубликовано November 27, 2014 Бинаризирую изображение на черном фоне, с небольшими помехами получается что-то белое на черном фоне, определяю контур так 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)); У меня получается один нужный контур, но когда фотографируемый предмет вылезает за рамки снимка, то получается много контуров, маленьких по площади, как получить один большой и у обрезованного предмета, как бы обрезав контур по границе, которую он пересекает? Спасибо. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано November 27, 2014 Картинку в студию! Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ter_nk 0 Жалоба Опубликовано November 27, 2014 Картинку в студию! Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано November 27, 2014 Выведи перед Canny чёрный прямоугольник размером с изображение (толщина линии 1), чтобы он закрасил все края. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ter_nk 0 Жалоба Опубликовано November 27, 2014 Не понял, как вывести перед canny черный прямоугольник? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ter_nk 0 Жалоба Опубликовано November 27, 2014 По идеи можно создать изображение по длине на 20 пикселей по ширене и высоте больше, с черным фоном, скопировать туда изображение по себедине, т.е. + 10 пикс по х и у , только не знаю как это сделать в opencv Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано November 27, 2014 cv::rectangle(img, cv::Rect(0, 0, img.cols - 1, img.rows - 1), cv::Scalar(0, 0, 0)); 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ter_nk 0 Жалоба Опубликовано November 27, 2014 Спасибо, тоже вариант как обойти, хотя урезать изображение конечно не очень хочется. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Nuzhny 243 Жалоба Опубликовано November 27, 2014 Трудно назвать это именно урезанием, ведь твоя задача получить контур? Ты его получишь в точности таким, какой нужен. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
ter_nk 0 Жалоба Опубликовано November 28, 2014 Там была ошибка алгоритма предварительной бинаризации, сейчас исправляю. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах