Select ROI (Region Of Interest) from a video, and extracting rgb values

18 views (last 30 days)
Hi,
I am wondering if there is a way that I can analyze a region of interest in a video and extract the rgb value in that video? Thank you.

Accepted Answer

Nihal Reddy
Nihal Reddy on 3 Jun 2022
I understand you want to first select the Region of Interest(ROI) from a video and then extract RGB values from the selected ROI.
The first step would be to split the videos into frames and then select the region of interest using the “drawrectangle” function in each of the frames.
You can refer to following MATLAB documentation link for more details about “drawrectangle” function-
As the second step, you can use the “imcrop” function to crop the selected ROI from the frames.
You can refer to following MATLAB documentation link for more details about “imcrop” function-
To extract the RGB values from the selected ROI, the steps are as follows-
The imread function will read any image :
A = imread('myimage.jpg');
Then for the RGB values you can use the sample code below:
R = A(:,:,1);
G = A(:,:,2);
B = A(:,:,3);
The red layer R is the first slice, blue B is the second slice, and green G is the third slice.

More Answers (1)

Image Analyst
Image Analyst on 3 Jun 2022
  3 Comments
Image Analyst
Image Analyst on 29 Sep 2022
I don't. I just use the entire image. If you wanted to you could crop thisFrame to some rectangular region using indexing or imcrop().
thisFrame = thisFrame(row1:row1, col1:col2, :);
Or you could have a binary image with some irregular shape to use as a mask.
meanGrayLevels(frame) = mean(grayImage(mask));
Shu-An Hsieh
Shu-An Hsieh on 29 Sep 2022
Thank you!
Another question I have is that how can you separate the rgb into separate plots? I try to use the subplot but it did not work.

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!