СПОСОБ КОПИРОВАНИЯ ДВУСТОРОННИХ ОРИГИНАЛОВ

1. Способ копирования двусторонних оригиналов, заключающийся в выполнении следующих операций:
- выбирают расположение изображений сторон оригинала на копии;
- сканируют переднюю сторону оригинала;
- корректируют яркость и контраст изображения передней стороны;
- корректируют скос изображения передней стороны;
- определяют ориентацию изображения передней стороны с помощью распознавания арабских цифр;
- сканируют оборотную сторону оригинала;
- корректируют яркость и контраст изображения оборотной стороны;
- корректируют скос изображения оборотной стороны;
- определяют ориентацию изображения оборотной стороны с помощью распознавания арабских цифр;
- генерируют, по меньшей мере, одну страницу копии из обоих изображений сторон оригинала согласно выбранному расположению;
- печатают страницы копии и/или сохраняют изображения этих страниц в файл.
2. Способ по п.1, отличающийся тем, что выбирают расположение изображений сторон оригинала на копии из следующих вариантов:
- копируют обе стороны оригинала на одну страницу книжной ориентации и располагают изображение передней стороны оригинала в центре верхней половины страницы, а изображение оборотной стороны оригинала в центре нижней половины страницы;
- копируют обе стороны оригинала на одну страницу книжной ориентации и располагают изображения в верхней части страницы одно под другим;
- копируют обе стороны оригинала на одну страницу книжной ориентации и располагают изображения в центральной части страницы одно под другим;
- копируют обе стороны оригинала на одну страницу книжной ориентации и располагают изображения в верхней части страницы одно рядом с другим;
- копируют обе стороны оригинала на одну страницу альбомной ориентации и располагают изображение передней стороны оригинала в центре левой половины страницы, а изображение оборотной стороны оригинала в центре правой половины страницы;
- копируют обе стороны оригинала на одну страницу альбомной ориентации и располагают изображения в центральной части страницы одно под другим;
- копируют обе стороны оригинала на одну страницу альбомной ориентации и располагают изображения в левой части страницы одно под другим;
- копируют обе стороны оригинала на одну страницу альбомной ориентации и располагают изображения в левой части страницы одно рядом с другим;
- копируют стороны оригинала на две страницы книжной ориентации и располагают изображения в центре страниц;
- копируют стороны оригинала на две страницы книжной ориентации и располагают изображения вверху страниц;
- копируют стороны оригинала на две страницы альбомной ориентации и располагают изображения в центре страниц;
- копируют стороны оригинала на две страницы альбомной ориентации и располагают изображения в левой части страниц.
3. Способ по п.1, отличающийся тем, что корректируют скос изображений передней и оборотной стороны оригинала посредством выполнения следующих шагов:
- определяют координаты ограничивающего прямоугольника;
- определяют угол скоса;
- поворачивают изображение на минус угол скоса, если абсолютное значение угла скоса превышает или равно 0,5°.
4. Способ по п.3, отличающийся тем, что определение координат ограничивающего прямоугольника выполняют за счет выполнения следующих этапов:
- вычисляют проекции на горизонтальную и вертикальную оси согласно формулам:
,
,
,
где r, c - координаты пикселов изображения; R, G, В цветовые каналы изображения; Nr - количество строк в изображении; Nc - количество столбцов в изображении; T - предопределенный порог, Ph - проекция на горизонтальную ось, Pv - проекция на вертикальную ось;
- фильтруют проекции минимальным фильтром:
Phf(c)=min(Ph(c-2), Ph(c-1), Ph(c), Ph(c+1), Ph(c+2)),
Pνf(r)=min(Pν(r-2), Pν(r-1), Pν(r), Pν(r+1), Pν(r+2));
min
max
min
max
- вычисляют координаты ограничивающего прямоугольника r, r, и c, c как крайние слева и справа позиции, в которых значение отфильтрованной проекции больше предопределенного порога для проекций на вертикальную и горизонтальную оси соответственно:
,
,
,
;
min
max
min
max
- детектируют пустую страницу путем проверки следующего условия: если r>r или c>c, то сканирована пустая страница, об этом генерируют предупреждение для пользователя;
max
- детектируют отсечение части изображения оригинала путем проверки условия: если r равен Nr, то возможно, что часть изображения оригинала была отсечена при сканировании, об этом генерируют предупреждение для пользователя.
5. Способ по п.3, отличающийся тем, что определяют угол скоса путем выполнения следующих этапов:
- расширяют ограничивающий прямоугольник согласно формулам:
max
min
max
min
dc=(c-c)/4, dr=(r-r)/4,
min
min
max
max
ce=max(1,c-dc), ce=min(Nc,c+dc),
min
min
max
max
re=max(1,r-dr), re=min(Nr,r+dr);
- вычисляют для каждого столбца в пределах ограничивающего прямоугольника расстояния от верха и низа прямоугольника до ближайшего пиксела внутри прямоугольника, не относящегося к фону, сохраняют расстояния в массивы:
,
,
min
max
где c∈[ce, ce];
- фильтруют массивы расстояний минимальным фильтром:
Dtf(c)=min(Dt(с-4),…, Dt(c),…,Dt(c+4)),
Dbf(c)=min(Db(с-4),…,Db(с),…,Db(c+4));
- вычисляют производные массивов расстояний как конечные разности согласно формулам:
dDtf(c)=Dtf(c+4)-Dtf(c-4),
dDbf(c)=Dbf(с+4)-Dbf(с-4);
- определяют достаточно длинные участки, на которых производная не изменяется согласно формулам:
,
,
где {st1} и {sb1} массивы координат начала таких длинных участков для массивов расстояний от верха и низа ограничивающего прямоугольника соответственно, {st2} и {sb2} массивы координат конца таких участков для массивов расстояний от верха и низа ограничивающего прямоугольника, Nt и Nb количество таких участков для массивов расстояний от верха и низа ограничивающего прямоугольника;
- вычисляют углы наклона графика расстояний к оси абсцисс для всех определенных на предыдущем этапе участков:
dx(i)=st2(i)-st1(i)-20,
dx(j+Nt)=sb2(j)-sb1(j)-20,
,
,
α(n)=arctg(dy(n)/dx(n)), N=Nb+Nt, n=1…N,
где {dx} массив прилежащих катетов, {dy} массив противолежащих гетов, {α} массив углов;
робастно оценивают угол скоса из массива углов как взвешенное среднее углов, которые отличаются от этого взвешенного среднего на величину, не превышающую среднеквадратичного отклонения, и среднеквадратичное отклонение менее единицы, причем оценка угла скоса выполняется с помощью следующей итеративной процедуры:
а) начальная оценка угла как взвешенного среднего и вычисление среднеквадратичного отклонения:
,
,
если >25, то выполняют специальную обработку для положительных и отрицательных значений из массива углов:
, ,
,
,
если qap>0 и qan>0, то =0, если sap>san, то φ=sap/qap, в противном случае φ=san/qan;
б) итерации продолжают до тех пор пока >1: если (α(n)<φ-δ) или (α(n)>φ+δ), то a(n) и dx(n) исключают из соответствующих массивов, и вычисляют новую оценку угла скоса и среднеквадратичное отклонение:
,
.
6. Способ по п.1, отличающийся тем, что поворот изображения на угол φ, где абсолютное значение φ меньше или равно 45°, выполняют без использования дополнительного буфера памяти через два последовательных сдвиговых преобразования отдельно для строк и столбцов согласно следующим матрицам преобразования:
,
где (x, y) и (x', y') координаты пикселов изображения в исходном и повернутом изображениях соответственно.
7. Способ по п.1, отличающийся тем, что определение ориентации изображения передней и аналогично оборотной стороны осуществляют путем выполнения следующих этапов:
- фильтруют высокочастотным фильтром канал яркости изображения путем свертки с ядром:
;
- размечают связные области пикселов фильтрованного изображения, которые превышают предопределенный порог T1;
- размечают связные области пикселов фильтрованного изображения, которые меньше предопределенного порога - T1;
- отбирают связные области определенного размера;
- для каждой выбранной связной области выполняют распознавание арабских цифр '1', '2', '3', '4', '5', '7' для четырех ориентации 0°, 90°, 180°, 270° и подсчитывают количество распознанных цифр для каждой ориентации;
- принимают решение об ориентации изображения на основе количества распознанных цифр для каждой ориентации.
8. Способ по п.7, отличающийся тем, что принятие решение об ориентации изображения основывают на формуле:
,
1
2
3
4
5
7
где N(i), N(i), N(i), N(i), N(i) и N(i) количество распознанных цифр '1', '2', '3', '4', '5' и '7' для ориентации i.
9. Способ по п.7, отличающийся тем, что для распознавания цифры '1' используют следующие признаки:
1
f1=Mr/Mc;
; ;
;
;
;
где F - бинарное изображение связной области, Mr×Mc - размер изображения F.
10. Способ по п.7, отличающийся тем, что для распознавания цифры '2' используют следующие признаки:
1
f2=Mr/Mc;
; ;
;
;
; ;
; ;
,
где F - бинарное изображение связной области, Mr×Mc - размер изображения F.
11. Способ по п.7, отличающийся тем, что для распознавания цифры 3' используют следующие признаки:
1
f3=Mr/Mc;
; ;
; ;
; ;
; ;
,
;
;
;
;
;
;
;
;
;
где F - бинарное изображение связной области, Mr×Mc - размер изображения F.
12. Способ по п.7, отличающийся тем, что для распознавания цифры '4' используют следующие признаки:
1
f4=Mr/Mc;
;
;
;
;
;
;
;
где F - бинарное изображение связной области, Mr×Mc - размер изображения F.
13. Способ по п.7, отличающийся тем, что для распознавания цифры '5' используют следующие признаки:
1
f5=Mr/Mc;
; ;
; ;
;
;
;
;
где F - бинарное изображение связной области, Mr×Mc - размер изображения F.
14. Способ по п.7, отличающийся тем, что для распознавания цифры '7' используют следующие признаки:
1
f7=Mr/Mc;
; ;
;
;
;
;
;
где F - бинарное изображение связной области, Mr×Mc - размер изображения F.