Борода22 1 Жалоба Опубликовано August 14, 2020 В 12.08.2020 at 17:48, Smorodov сказал: По поводу морфологических операций, cv::dilate затем cv::erode. Да, спасибо, я уже понял методом "тыка" что представляют эти методы В 12.08.2020 at 17:48, Smorodov сказал: Для детектора линий, нужно белое изображение на черном фоне Хорошо, попробую. Просто я линии, которые нашел с помощью HoughLines(), выводил на оригинал изображения. С вашим примером обязательно попробую. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Борода22 1 Жалоба Опубликовано August 14, 2020 Прописал вот такой код: var lines = Cv2.HoughLinesP(thresh_img, 1, Math.PI / 180, 200, 150, 30); LineSegmentPoint max_line = new LineSegmentPoint(); for (int i = 0; i < lines.Length; i++) { // получаем максимальную длинную прямую if (lines[i].Length() > max_line.Length()) { max_line = lines[i]; } Cv2.Line(original_img, lines[i].P1, lines[i].P2, new Scalar(0, 0, 250), 2); } // выводим линию максимальной длины Cv2.Line(original_img, max_line.P1, max_line.P2, new Scalar(255, 0, 0), 3); отображает вот в таком виде (синяя линия - это максимально прямая линия) Как теперь определить угол поворота по синей линии ? Это необходимо для выравнивания скана документа. Как я понял, угол можно получить с помощью HoughLines(), можно ли как-то получит угол по LineSegmentPoint ? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано August 14, 2020 Ну если знаем 2 точки то alpha=atan2(dy,dx) 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Борода22 1 Жалоба Опубликовано August 14, 2020 @Smorodov, премного благодарен. Как я понял, параметры dy, dx - разность координат точек отрезка (линии) ? Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Smorodov 579 Жалоба Опубликовано August 14, 2020 Да. 1 Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах
Борода22 1 Жалоба Опубликовано August 21, 2020 Премного благодарен, уважаемый, получилось выровнить изображение. Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах