Clear Filters
Clear Filters

I want to convert color image into binary image with smoothing

3 views (last 30 days)
herewith I have attached output of my code
img_orig = imread(filename); %color fingerprint image
subplot(2,3,1);
imshow(img_orig);
img_grey=rgb2gray(img_orig);
subplot(2,3,2);
imshow(img_grey);
J1=edge(img_grey,'canny',0.1);
subplot(2,3,3);
imshow(J1);
I want to retrieve smooth image like this.
so that I can process it furthur.
thank you in advance

Answers (1)

Image Analyst
Image Analyst on 16 Dec 2020
What does your output image look like? Is it skeletonized? With your "smooth image" above, they're probably have to skeletonize it first before proceeding so, if the ridges look good, then you're all set. If the ridges look bad maybe you can improve it by changing the edge detection parameters. Like try Sobel, or some ridge finding filters like Frangi filter, Hessian filter, or COSFIRE-B. I think the File Exchange has some of those filters.
Be aware that in some places the contrast is so low that essentially no fingerprint ridges are to be found.
See fingerprint papers in Vision Bibliography for much better algorithms than either you or I could think up:
  2 Comments
amrin shaikh
amrin shaikh on 17 Dec 2020
my output image is shown in subplot-3 will be visible when you scroll right (in image attached ove here).
I need your help because i want to process and as you can see my individual ridge is represent two lines and they are very thick i want to merge it with parallel ridge and treat them both as one.
please help me it furthur
Image Analyst
Image Analyst on 17 Dec 2020
The only other things I can suggest, since fingerprint analysis is not one of my specialities, is to try anisotropic diffusion to help smooth the original image in the direction of ridgelines. See attached demo.

Sign in to comment.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!