![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#3
|
|||
|
|||
![]() Цитата:
Ну так вот. Я бы действовал след. образом после того как перевернул изображение: 1. Обрезать края (при необходимости). Смотрим линию: если она вся белая - не нужна. Таким образом определяем границы полезного изображения и положение цифр (верх/низ). 2. Берем кусок из середины рисунка по всей длине (образно - синюю полоску с триколора РФ). Смотрим на вертикальные линии - если есть небелая точка - значит линию зарисовываем черным. 3. Если принципиально перевернут рисунок с ног на голову или нет - поворачиваем фрагмент (при необходимости) на 180 градусов - шума лишнего не появится 4. Выражаем бурную радость по поводу произошедшего ![]() P.S. Код:
... function RotPoint(PX, PY: Integer): TPoint; begin DX := PX - Center.x; DY := PY - Center.y; Result.x := Center.x + Round(DX * CosAng - DY * SinAng); Result.y := Center.y + Round(DX * SinAng + DY * CosAng); end; ... Это формулы для поворота осей координат. Если с геометрией дружишь - должен быть вкурсе по них. Шум появляется из-за округления, поскольку координаты пикселя - целые должны быть. |