Цитата:
Сообщение от sergej krikovtsov
Суть такая - есть некое изначально повернутое на угол, скажем, 30 градусов изображение. С помощью Дельфи повернуть его в предыдущее положение с как можно меньшими потерями.
|
Ну так вот. Я бы действовал след. образом после того как перевернул изображение:
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;
...
Это формулы для поворота осей координат. Если с геометрией дружишь - должен быть вкурсе по них. Шум появляется из-за округления, поскольку координаты пикселя - целые должны быть.