Найдите искажают угол и вращают изображение в C++ OpenCV

Need help, Plz see the following question, I'm asking this question second time, because last time I didn't get any answer. Consider following Two links => 1:=> Finding Skew Angle 2:=> Rotating Image as per skew angle

Я хочу сделать то же самое, и код, данный на этом, связывает хорошие работы. Но проблема, См. текст, показанный по этим изображениям, этот код хорошо работает для хорошо выровненного текста только (как показано по изображениям на данных связях), но Это подведено, когда ваш текст находится в рассеянной форме. Пожалуйста, скажите мне, как сделать это для изображений, который содержит текст в рассеянной форме..? Заранее спасибо..!! [Здесь главная проблема состоит в том, чтобы СЧЕСТЬ ПРАВИЛЬНЫМ, ИСКАЖАЮТ УГОЛ..] Я очень расстроен из-за этой проблемы... Пожалуйста, Помогите..!!!

My Code is as follows:=>

// Find Skew angle.
double compute_skew(const char* filename)
{

   //Load in grayscale.
    cv::Mat img = cv::imread(filename, 0);

   //Binarize
    cv::threshold(img, img, 225, 255, cv::THRESH_BINARY);

   //Invert colors
    cv::bitwise_not(img, img);

    cv::Mat element = cv::getStructuringElement(cv::MORPH_RECT, cv::Size(5, 3));
    cv::erode(img, img, element);

    std::vector points;
    cv::Mat_::iterator it = img.begin();
    cv::Mat_::iterator end = img.end();
    for (; it != end; ++it)
        if (*it)
            points.push_back(it.pos());

    cv::RotatedRect box = cv::minAreaRect(cv::Mat(points));

    double angle = box.angle;
    if (angle < -45.)
        angle += 90.;

    cv::Point2f vertices[4];
    box.points(vertices);
    for(int i = 0; i < 4; ++i)
        cv::line(img, vertices[i], vertices[(i + 1) % 4], cv::Scalar(255, 0, 0), 1, CV_AA);

    std::cout << "File **************Angle***************** " << filename << ": " << angle << std::endl;


    return angle;
}

// Rotate Image  according to skew angle.
void deskew(const char* filename, double angle)
{
    cv::Mat img = cv::imread(filename, 0);

    Point2f src_center(img.cols/2.0F, img.rows/2.0F);
    Mat rot_mat = getRotationMatrix2D(src_center, angle, 1.0);
    Mat rotated;
    warpAffine(img, rotated, rot_mat, img.size(), cv::INTER_CUBIC);

    imwrite(filename,rotated);

}
1
nl ja de
Здесь это идет снова. Что вы попробовали?
добавлено автор Tobias Moe Thorstensen, источник
Здесь это идет снова. Что вы попробовали?
добавлено автор Tobias Moe Thorstensen, источник
Да, пожалуйста, люди склонны решать проблемы быстрее этот путь.
добавлено автор Tobias Moe Thorstensen, источник
Да, пожалуйста, люди склонны решать проблемы быстрее этот путь.
добавлено автор Tobias Moe Thorstensen, источник
Я помещу свой код здесь..? Если вы хотите видеть...
добавлено автор Dnyanesh M, источник
Я помещу свой код здесь..? Если вы хотите видеть...
добавлено автор Dnyanesh M, источник
Пожалуйста, см. Кодекс..
добавлено автор Dnyanesh M, источник
Пожалуйста, см. Кодекс..
добавлено автор Dnyanesh M, источник

2 ответы

Тот подход обречен потерпеть неудачу, если вы рассеяли текст, потому что это полагается на нахождение линий длинного текста. Кроме того, термин "иска" немного неудачен в этом случае, потому что это - чистое вращение в отправленных примерах.

То, что я сделал бы, делают прогнозы линии в диапазоне ориентаций (cfr. Радон преобразовывает или поиск линии Хью). Когда у вашего прогноза линии будет правильная ориентация, будет много нолей в проектировании линии, вызванном межстрочными промежутками. Ориентация, которая приводит к большинству нулевых значений в проектировании, является наиболее вероятным углом вращения текста.

1
добавлено

Тот подход обречен потерпеть неудачу, если вы рассеяли текст, потому что это полагается на нахождение линий длинного текста. Кроме того, термин "иска" немного неудачен в этом случае, потому что это - чистое вращение в отправленных примерах.

То, что я сделал бы, делают прогнозы линии в диапазоне ориентаций (cfr. Радон преобразовывает или поиск линии Хью). Когда у вашего прогноза линии будет правильная ориентация, будет много нолей в проектировании линии, вызванном межстрочными промежутками. Ориентация, которая приводит к большинству нулевых значений в проектировании, является наиболее вероятным углом вращения текста.

1
добавлено
Mobile Dev Jobs — вакансии и аналитика
Mobile Dev Jobs — вакансии и аналитика
6 187 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению iOS, Android, Xamarin и т.д. ВАЖНО: Правила публикации и правила канала: Ссылка – https://telegra.ph/Pravila-oformleniya-vakansij-i-rezyume-11-09-2

Android Developers
Android Developers
4 476 участник(ов)

Общаемся на темы, посвященным Android-разработке, SDK, Kotlin, Realm и т.д.

Android Architecture
Android Architecture
2 186 участник(ов)

Русскоязычный чат по архитектуре в андроид приложениях. Подробнее: http://telegra.ph/Android-Architecture-12-24

rus-speaking/android
rus-speaking/android
1 705 участник(ов)

Основной чат по Android разработке (вопрос-ответ). ПРАВИЛА: bit.ly/andr-rules. NEWS: bit.ly/AnrdResId ЧАТЫ: Основной: bit.ly/andr-main IDE, сборка, Git, сервисы: bit.ly/andr-tools Оффтоп: bit.ly/andr-offtop Конференции, события: bit.ly/andr-events Вакансии, найм: bit.ly/andr-job Архитектура: bit.ly/andr-patterns Rx: bit.ly/andr-rx Тестирование: bit.ly/andr-test Kotlin: bit.ly/andr-kotlin Хаmarin: bit.ly/andr-xamarin За мат, спам, агрессию, предложения о работе, оффтоп в этом канале - бан на сутки и более ☢☢☢

Android Dev Подкаст
Android Dev Подкаст
1 325 участник(ов)

Комната для обсуждения Android Dev подкаста apptractor.ru/AndroidDev/ Общее обсуждение Android: https://t.me/android_ru Остальные чаты про Android: http://t.me/devChats Наши новости https://t.me/androiddevpodcast_news

Android Guards
Android Guards
602 участник(ов)

Обсуждение любых вопросов касающихся безопасности Android. - Защита системы и приложений - Уязвимости и эксплойты - Вредоносное ПО - Копание в кишках системы и приложений (RE)

Android JOB
Android JOB
466 участник(ов)

Публикуем вакансии и запросы на поиск работы по направлению Android (full-time, part-time, remote и разовые подработки)

AndroidDev :: Разработка. It's Android time now!
AndroidDev :: Разработка. It's Android time now!
458 участник(ов)

It's Android time now! Чат разработчиков Android. Вакансии, резюме и информацию о митапах размещать можно. Публикацию скрытой и явной рекламы ваших каналов и сайтов после получения разрешения от @olegushakov

Aandroid Talks!
Aandroid Talks!
212 участник(ов)

Чат об общих вопросах по ОС Android. Чат для разработки под андроид - pro.android: https://t.me/joinchat/AAAAAEKIFKnmRT9cMebb9w

Android Rus
Android Rus
68 участник(ов)