У меня проблемы с получением контуров объекта на моих фотографиях.
Чтобы удалить весь шум, я использую adjustROI()
и Canny()
.
Я также пробовал erode()
и dillate()
, Laplacian()
, GaussianBlur()
, _7 _... и даже нашел этот фрагмент кода для резкости изображения:
GaussianBlur(src, dst_gaussian, Size(0, 0), 3);
addWeighted(src, 1.5, dst_gaussian, -0.5, 0, dst);
Но мой результат всегда один и тот же: мой объект заполнен черным и белым цветом (как шум на экране телевизора), так что невозможно получить контуры с помощью findContours()
(findContours()
находит миллион контуров, но не один из весь объект. Я проверяю это с помощью drawContours()
).
Я использую C ++ и загружаю свое изображение как мат в оттенках серого (для Canny оно должно быть в оттенках серого). Мой объект имеет различную форму на каждом изображении, но он всегда находится примерно в середине изображения.
Мне либо нужно найти способ получить более качественный цвет объекта путем обработки изображения - но я не знаю, что еще попробовать, - либо способ, как заполнить объект цветом после обработки изображения (без его контуров, потому что это чего хочу в итоге).
Любые идеи приветствуются. Заранее спасибо.