Имам изображение с много нисък контраст, от което бих искал да извлека текстов обект. Тъй като има нисък контраст, опитах няколко метода, но нито един метод не ми даде задоволителен резултат. Използвах watershed
за извличане на текстовия обект, но тъй като контрастът е слаб, извличането не беше успешно.
Моята програма за watershed
е:
I_cropped=imread(strcat('C:\Id\',currentfilename));
I_cropped = rgb2gray(I_cropped);
I_eq = histeq(I_cropped);
figure,imshow(I_eq);
bw = im2bw(I_eq, graythresh(I_eq));
bw2 = imfill(bw,'holes');
bw3 = imopen(bw2, ones(5,5));
bw4 = bwareaopen(bw3, 40);
bw = im2bw(I_eq, graythresh(I_eq));
figure,imshow(bw);
mask_em = imextendedmax(I_eq, 30);
mask_em = imclose(mask_em, ones(5,5));
mask_em = imfill(mask_em, 'holes');
mask_em = bwareaopen(mask_em, 40);
figure,imshow(mask_em);
I_eq_c = imcomplement(I_eq);
figure,imshow(I_eq_c);
I_mod = imimposemin(I_eq_c, ~bw4 | mask_em);
figure,imshow(I_mod);
L = watershed(I_mod);
figure,imshow(label2rgb(L));
Приложих филтър laplacian
и за подобряване на ръба, но не беше ефективен.
Целта ми е да извлека текстов обект. Какъв метод да опитам за такова изображение с нисък контраст?
Изображението е приложено: