ROI Image Processing -- Approach Question

Hello,
I currently have images of the following nature:
The goal is to have the code display the mean value of each of the squares. The position of each square slightly shifts from image to image. The images are stored as 1024 x 1024 matrices (type = double). Any suggestions on what approach to take in this case?
Thank you for your time!

 Accepted Answer

Image Analyst
Image Analyst on 29 Aug 2017
Edited: Image Analyst on 29 Aug 2017
Use regionprops
binaryImage = grayImage > 2e6;
binaryImage = bwareafilt(binaryImage, [3000, inf]);
labeledImage = bwlabel(binaryImage);
props = regionprops(labeledImage, grayImage, 'MeanIntensity');

4 Comments

Many thanks!
I will certainly check out the tutorial :)
Quick clarifying question, I would like to automate the detection threshold (above you entered 2e6), how do I do this?
Is this the best method:
normalizedThresholdValue = 0.4; % In range 0 to 1.
thresholdValue = normalizedThresholdValue * max(max(originalImage)); % Gray Levels.
binaryImage = im2bw(originalImage, normalizedThresholdValue);
Any other methods that would be more applicable to my situation?
Thanks!
That's a quick question? Threshold selection can be a complicated subject.
You might start out with imbinarize(). If that doesn't work, you might try my triangle thresholding method, attached.
Didn't mean to be facetious! While working on my current set of problems, I am very quickly beginning to appreciate that ><
imbinarize seemed to do the trick!
Thank you!!!

Sign in to comment.

More Answers (0)

Asked:

on 29 Aug 2017

Commented:

on 30 Aug 2017

Community Treasure Hunt

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

Start Hunting!