imwrite through step() to snapshot a video saves red images why?

2 views (last 30 days)
I'm getting snapshots of a video using imwrite to write a frame captured by step() the images that are saved to the folder are red and with low quality
why is that? and how do I avoid it?
Thank you

Answers (2)

David Tarkowski
David Tarkowski on 13 May 2013
It looks like you are using a YCbCr format of your camera. When you are previewing or writing to disk, the toolbox converts the frame to RGB since display and disk logging require RGB data. When you use step or getsnapshot, the toolbox does not, by default, convert the image to RGB since there arr easons why you might actually want the YCbCr data.
You can set the ReturnedColorSpace property of your videoinput or imaq.VideoDevice object to 'RGB' which will cause the toolbox to convert the frame to RGB before it returns it. You could also use the ycbcr2rgb function to do the conversion.

Image Analyst
Image Analyst on 12 May 2013
Is the camera white balanced? Does the image look like that in your GUI before you save it to disk and recall it? What does your call to imwrite() look like?
  6 Comments
Lobna
Lobna on 13 May 2013
Edited: Lobna on 13 May 2013
I use getsnapshot() as well but when I use it in this particular code it gives me the "Too many output arguments." error message

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!