MATLAB image processing technique

1 vue (au cours des 30 derniers jours)
JoonHee Joh
JoonHee Joh le 19 Août 2017
I have this 3D array in MATLAB (V: vertical, H: horizontal, t: time frame)
Figures below represent images obtained using imagesc function after slicing the array in terms of t axis
area in black represents damage area and other area is intact
each frame looks similar but has different amplitude
I am trying to visualize only defect area and get rid of intact area
I tried to use 'threshold' method to get rid of intact area as below
NewSet = zeros(450,450,200);
for kk = 1:200
frame = uwpi(:,:,kk);
STD = std(frame(:));
Mean = mean(frame(:));
for ii = 1:450
for jj =1:450
if frame(ii, jj) > 2*STD+Mean
% I also tried abs(frame(ii,jj)) but doesn't seem to work
NewSet(ii, jj, kk) = frame(ii, jj);
else
NewSet(ii, jj, kk) = NaN;
end
end
end
end
however, since each frame has different amplitude, result becomes
Is there any image processing method to get rid of intact area in this case?
Thanks in advance

Réponses (1)

Image Analyst
Image Analyst le 19 Août 2017
You have to come up with some kind of thresholding algorithm that can get you the corect threshold despite the overall brightness varying. Try imbinarize() or else plot the histogram and look for something that makes sense. Perhaps triangle thresholding will work well if you have a skewed hump in your histogram.

Tags

Community Treasure Hunt

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

Start Hunting!