Я работаю над черно-белым изображением, как и первый из ссылки: http://imageshack.us/g/33/firstwm.png/ У него много "шума", поэтому я применил к нему срединный фильтр, чтобы сгладить его, тем самым получив второе изображение.
cvSmooth(TempImage, TempImage, CV_MEDIAN, 5, 0);
После этого я получаю контуры и рисую их на другое изображение, подобное третьему изображению из ссылки. Моя проблема в том, что контуры по-прежнему немного пикселированы (резкие). Есть ли способ сгладить изображение B & W еще больше, чтобы получить лучшие контуры? Или, может быть, сделать что-то с контурами. Я также попробовал Dilate и Erode с разными ядрами, но проблема осталась прежней. Спасибо за все, что помогает.
EDIT: Также попробовали:
cvSmooth(TempImage, TempImage, CV_GAUSSIAN, 9, 9, 3);
cvThreshold(TempImage, TempImage, 127, 255, CV_THRESH_BINARY);
Те же результаты, что и срединный фильтр, хорошо, но все же оставляет некоторые пиксельные контуры.