Я использую OpenCV 3.1 и Visual Studio C++.Детектор OpenCV "Blured Corners" (C++)
Цель
Я хочу, чтобы обнаружить углы, а не кривые, прямоугольники или круги. Это означает, что я хочу найти расположение размытых символов. Здесь площадь области моего интереса:
Красные районы имеют более высокий приоритет, потому что они более размыты, чем оранжевая, который может быть обнаружен с текущим Shi-Томазь углом детектором.
То, что я пытался
Я испытал Ши-Томазь углового детектора - код находится в этом учебнике http://docs.opencv.org/2.4/doc/tutorials/features2d/trackingmotion/good_features_to_track/good_features_to_track.html который отлично подходит для поиска областей с текстом, когда у вас есть четкие изображения. Я хотел бы найти алгоритм с использованием OpenCV, который имеет схожую (очень хорошую) производительность и может обнаруживать размытый текст. Области, где текст слишком сильно размывается (его невозможно прочитать - для обнаружения углов), следует игнорировать. Также следует игнорировать области с хорошей резкостью.
Вот пример того, что я пробовал - это результат от Ши-Томази учебник:
Это исходное изображение:
И это то, что я получаю
верхние параметры изображения minDistance = 5, qualityLevel = 0.01, нижнее изображение minDistan се = 10, qualityLevel = 0,05 остальные Params одинаковы для обоих изображений:
int blockSize = 3; bool useHarrisDetector = false; double k = 0.04;
неверный результат в том, что он не нашел размыли текст - число «195» в верхней правой области или левом нижнем углу, например «14 мс» и/или «19 мс». Скорее он нашел лучшие резкие результаты, которых я не хочу.
Я считаю, что если бы я мог использовать какое-то ядро, которое размыло бы острые области и острую размытые области, возможно, тогда детектор углов Ши-Томаси смог найти результаты.
Любые подсказки, как достичь цели?
Не ожидайте большой надежности от этого случая. Принцип утилизации мусора/мусора будет применяться полностью. –