Detecting pores on a rough surface
1 view (last 30 days)
Show older comments
Hi, I'm hoping to calculate the number, size, and area of the pores in the picture below. Problems: 1. The surface is too rough that the Canny method detected lots of ridges that interfere with the pore ridge. 2. Many of the pores ridges are open, even after the imclose. 3. Some closed ridges are from protruding structure, not from pores, but the imfill still filled it. 4. The regions with intensity >70 are considered with more sample artifacts. Is there a way to do the processes in my code only on the regions with I<70.
I appreciate very much your help! Below is the code.
imdir = 'C:\Users\wkuo7\Documents\MATLAB\20130724\'; imfile1 = '401.tif'; Iori = imread([imdir, imfile1]); Iavg = wiener2(Iori,[4 4]); Ican = edge(Iavg, 'canny', (graythresh(K) * .03)); NHOOD=[0,1,0;1,0,1;0,1,0]; se = strel('arbitrary', NHOOD) Iclo = imclose(Ican,se); Ifil = imfill(Iclo, 'holes'); figure, imshow(Iori) figure, imshow(Ifil)
0 Comments
Answers (1)
Image Analyst
on 3 Jan 2014
Looks very tough. It's not so straightforward what a hole is. You might have to measure something else to characterize these textures. If you can't get imtophat() or imbothat() to work, then I'd do something else, like look at the entropy or PSD or something.
See Also
Categories
Find more on 3-D Volumetric Image Processing in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!