%Скрипт для обработки сканированных изображений, содержащих растровые иллюстрации
%Обработка заключается в размытии кратинок для удаления растра и бинаризации текста
%................................................................13.07.08.........u235

A=imread('img001.tif');
h = fspecial('gaussian', [5, 5], 1.7);
blurred = imfilter(A, h,'replicate');
level = graythresh(A);
im= im2bw(A, level);
se = strel('disk',2);
w_d=imdilate(A, se);
b=imcomplement(A);
b_d=imdilate(b, se);
g=uint8(double(b_d).*double(w_d)/255); % OR
se2 = strel('disk',15);
marker=imerode(g, se2);
p=imreconstruct(marker, g);
g_a = imfill(p,'holes');
level = graythresh(g_a);% replace to other thresholding algoritm, error if not pictures in image
g_ab= im2bw(g_a,level);
final_image=uint8((double(blurred).*double(g_ab)+255*double(im).*double(1-g_ab)));
imwrite(final_image, 'final_image.tif')

Hosted by uCoz