Calculate the measurements of a Binary Image with an ndims of 3

3 views (last 30 days)
I am analyzing a series of images that increase the volume of the yellow plume over a series of time steps. My goal is to compare the area, centroid, outline and lengths of the largest finger of each yellow plume with other similiar images in a table as well as have MATLAB show the centroid and extrema on the image. In order to measure these properties, Matlab states I need a ndims of 2 or less where my binary image is 3. I used the imbinarize command to create a binary image and I recieved this error using regionprops.
An example of the photo to be analyzed is attached to this post.
Thanks for your help.
Ryan
  2 Comments
Rik
Rik on 16 Nov 2020
Did you convert the RGB image to grayscale before binarizing?
Ryan Tigera
Ryan Tigera on 19 Nov 2020
Hi Rik,
Thanks for the help. In reviewing my code, I skipped this step.
Thanks again for your help.

Sign in to comment.

Answers (1)

Shashank Gupta
Shashank Gupta on 19 Nov 2020
Edited: Shashank Gupta on 19 Nov 2020
Hey Ryan,
you might need to convert your RGB image to Gray image first and then binarize it, this will make sure you have ndim equals to 2. Attaching a small piece of code for your referece.
% Read image
img = imread('A,T=8min,V=40mL,TR.JPG');
% Convert RGB to gray.
im = rgb2gray(img);
% Binarize.
im = imbinarize(im);
% Use regionprop function according to your necessity.
stats = regionprops('table',im,'Centroid',...
'MajorAxisLength','MinorAxisLength')
Hope this helped.
Cheers.
  3 Comments
Shashank Gupta
Shashank Gupta on 19 Nov 2020
Yes rik, my mistake, I will edit it and correct it. Thank for noticing.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!