В настоящее время я работаю над проектом, который читает изображение, применяет ряд фильтров с целью размещения ограничивающего прямоугольника вокруг интересующих областей.Удаление ненужных строк из изображения
У меня есть изображение рукописного текста на линованной бумаге, как мой вход:
string imageLocation = "loctation of image file";
src = imread(imageLocation, 1);
Я затем преобразовать изображение в оттенки серого и применять адаптивную пороговую:
cvtColor(src, newsrc, CV_BGR2GRAY);
adaptiveThreshold(~newsrc, dst, 255, CV_ADAPTIVE_THRESH_MEAN_C, THRESH_BINARY, 15, -2);
Затем я использую морфол ogical операции, чтобы попытаться устранить горизонтальные линии с картинки:
Mat horizontal = dst.clone();
int horizontalSize = dst.cols/30;
Mat horizontalStructure = getStructuringElement(MORPH_RECT, Size(horizontalSize,1));
erode(horizontal, horizontal, horizontalStructure, Point(-1, -1));
dilate(horizontal, horizontal, horizontalStructure, Point(-1, -1));
cv::resize(horizontal, horizontal, cv::Size(), 0.5, 0.5, CV_INTER_CUBIC);
imshow("horizontal", horizontal);
который производит следующее (до сих пор так хорошо):
, то я стараюсь использовать те же подрывать & методы Разбавить на рисунке из вертикали:
int verticalsize = dst.rows/30;
Mat verticalStructure = getStructuringElement(MORPH_RECT, Size(1,verticalsize));
erode(vertical, vertical, verticalStructure, Point(-1, -1));
dilate(vertical, vertical, verticalStructure, Point(-1, -1));
cv::resize(vertical, vertical, cv::Size(), 0.5, 0.5, CV_INTER_CUBIC);
imshow("vertical", vertical);
Я следую примеру OpenCV, которая может быть найдена here
Но выход я получаю по вертикали:
Мой вопрос, как я пошел бы удалить эти горизонтальные линии от изображения.
Извините за длинный вопрос (я хотел объяснить как можно больше) и заранее заблаговременно за любой совет.
Что вы хотите, пытаясь выяснить вертикаль? –
Я разместил ссылку на пример OpenCV, и они используют морфологические операции, чтобы извлечь горизонтальные и вертикальные линии, чтобы отделить текст от горизонтальных линий. –
Я не могу видеть, где был объявлен и инициализирован 'Mat vertical'? ты уверен в этом? –