How to measure the average thickness at the center region of binary image
    조회 수: 8 (최근 30일)
  
       이전 댓글 표시
    
    Timilehin Oyinloye
 2023년 3월 21일
  
    
    
    
    
    댓글: Timilehin Oyinloye
 2023년 3월 22일
            I have a binary image that has various objects (white pixels) in various positions. I want to determine the average thickness of each white object in the binary image at its center (as shown in the third image with red letters). I appreciate your support.
 
     
     
댓글 수: 0
채택된 답변
  Antoni Garcia-Herreros
      
 2023년 3월 21일
        Hello Timilehin,
lear all 
close all
I=imread("image.jpeg");
if length(size(I))>2
    I=rgb2gray(I);
end
I=imbinarize(I);
I = imfill(I, 'holes');
BW2 = bwareaopen(I, 10); % Retain only large objects
r=regionprops(BW2,'Area','Centroid');
ApproxThick=zeros(size(r));
MeanCentralThick=ApproxThick;
Icopy=I;
for i=1:length(r) % Loop through all your objects
    bwi = bwareafilt(Icopy, 1);
    Icopy=logical(Icopy-bwi); % Subtract the objects from the image
    ri=regionprops(bwi,'Area','Centroid');
    BWSkel=bwskel(bwi);
    ApproxThick(i)=ri.Area/sum(BWSkel(:)); % This would give you a good idea of the mean thickness of all the object
    connec=bwconncomp(BWSkel); 
    [row,col] = ind2sub(connec.ImageSize,cell2mat(connec.PixelIdxList));
    Mask=false(size(BWSkel)); % Mask of the skeletonize image containing only the central region
    idxmin=floor(sum(BWSkel(:))*0.4); % Adjust these values to obtain the central region
    idxmax=floor(sum(BWSkel(:))*0.6);
    Mask(row(idxmin:idxmax),col(idxmin:idxmax))=BWSkel(row(idxmin:idxmax),col(idxmin:idxmax));
    EuclImage = bwdist(~bwi); % Euclidean distance
    Thickness=EuclImage(Mask);
    MeanCentralThick(i)=2*mean(Thickness); % Average thickness of the central region
end
Hope this helps!
추가 답변 (1개)
  Image Analyst
      
      
 2023년 3월 21일
        Basically you compute the Euclidean Distance transform and multiply it by the skeleton of the blobs.
See attached demo:

댓글 수: 0
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!


