Promblem video setup as RGB but show in axes but not show in RGB axes show grayscale instead

1 view (last 30 days)
I want to show video as RGB but axes show grayscale color instead
RGB2GRAY only accepts a Mx3 matrix for MAP or a MxNx3 input for RGB.

Answers (2)

Walter Roberson
Walter Roberson on 15 Jun 2017
Change
data = rgb2gray (getdata(vid,2));
to
temp = getdata(vid,2);
data = cat(3, rgb2gray(temp(:,:,:,1)), rgb2gray(temp(:,:,:,2)));
  4 Comments
Walter Roberson
Walter Roberson on 15 Jun 2017
Small correction:
data = cat(4, rgb2gray(temp(:,:,:,1)), rgb2gray(temp(:,:,:,2)));
getdata(vid,2) says to fetch 2 frames. That will give you MxNx3x2 . Assign that to a temporary variable. Now take each MxNx3 slice of it and convert each one through rgb2gray, producing something that is MxNx1 . Now splice them along the 4th dimension to get somehting MxNx1x2

Sign in to comment.


Image Analyst
Image Analyst on 19 Jun 2017
Make sure the output format of the camera is RGB and not monochrome/grayscale.

Community Treasure Hunt

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

Start Hunting!