# How to measure the average thickness at the center region of binary image

조회 수: 7(최근 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.

댓글을 달려면 로그인하십시오.

### 채택된 답변

Antoni Garcia-Herreros 2023년 3월 21일
Hello Timilehin,
lear all
close all
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);
EuclImage = bwdist(~bwi); % Euclidean distance
MeanCentralThick(i)=2*mean(Thickness); % Average thickness of the central region
end
Hope this helps!
##### 댓글 수: 1표시 없음숨기기 없음
Timilehin Oyinloye 2023년 3월 22일
Thank you so much for your assistance. It was very useful.

댓글을 달려면 로그인하십시오.

### 추가 답변(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:

댓글을 달려면 로그인하십시오.

### 범주

Find more on Image Segmentation and Analysis in Help Center and File Exchange

R2020a

### Community Treasure Hunt

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

Start Hunting!

Translated by