imwrite through step() to snapshot a video saves red images why?
Mostra commenti meno recenti
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
Risposte (2)
David Tarkowski
il 13 Mag 2013
1 voto
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
il 12 Mag 2013
0 voti
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 Commenti
Lobna
il 13 Mag 2013
Image Analyst
il 13 Mag 2013
I don't know. If it didn't look red when you did imshow(), then it should not show up as red when you do imwrite(). Call the Mathworks.
Lobna
il 13 Mag 2013
Image Analyst
il 13 Mag 2013
Modificato: Image Analyst
il 13 Mag 2013
What you do with the image after you take it, display it, and save it to disk does not matter. If you're saving a uint8 image, then it should/will look the same on disk as it does in the image buffer, as long as you didn't use a colormap. What is the step() function? I don't use that. I use getsnapshot().
Image Analyst
il 13 Mag 2013
You forgot to show your code, or answer my question.
Categorie
Scopri di più su Image Preview and Device Configuration in Centro assistenza e File Exchange
Prodotti
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!