problem in ycbcr color space
Mostrar comentarios más antiguos
I am facing some problems in using the ycbcr color space. For a certain purpose this model is the most suitable. But conversion from RGB to ycbcr yields me some negatives values too... Please help. Why does this happen? Are there any ways to solve this?
1 comentario
Star Strider
el 27 de Jun. de 2015
It will help if you posted (or attached) your code, and attached your image.
Respuesta aceptada
Más respuestas (2)
Image Analyst
el 28 de Jun. de 2015
0 votos
I'm not that familiar with that particular color space. What conversion are you using? I see from https://en.wikipedia.org/wiki/YCbCr that there is a minus sign in the formulas so perhaps they can go negative. I assume you're using rgb2ycbcr(). What colors are you getting negative values for?
2 comentarios
Ashmil Mohammed
el 28 de Jun. de 2015
Image Analyst
el 28 de Jun. de 2015
If you answer my questions, maybe I can answer yours . OK, if you won't tell me the colors, then maybe you could upload the image. Uploading your m-file, or at least a snippet, would make me more likely to try it, and sooner, than if I had to write it myself.
Thorsten
el 28 de Jun. de 2015
0 votos
You have some error in your formula. RGB values in the range 0, 255 or R'G'B' values in the range 0..1 map to non-negative YCbCr values. See https://en.wikipedia.org/wiki/YCbCr
5 comentarios
Image Analyst
el 29 de Jun. de 2015
But in his comment to me he said he didn't use any formula -- he said he used the built-in rgb2ycbcr() function.
Ashmil Mohammed
el 29 de Jun. de 2015
Walter Roberson
el 29 de Jun. de 2015
Try
RGB = cat(3, uint8([0 0 0 0 255 255 255 255]), uint8([0 0 255 255 0 0 255 255]), uint8([0 255 0 255 0 255 0 255]));
image(RGB);
y = rgb2ycbcr(RGB);
min(y(:))
I cannot test this on my system as I do not have the toolbox for it.
This arrangement tests all the combination of minimum and maximum RGB codes. If something is going to come out negative then it should show up here.
Image Analyst
el 29 de Jun. de 2015
Walter, the answer is 16. Ashmil, it's probably best you switched to HSV color space, though I was wondering what situation you had that made you original think "For a certain purpose this model is the most suitable". I think for most situations that I know of, conversion to HSV is fine. The only time I switch to LAB is if I need to compute a color difference because the Delta E formula in LAB space is much, much simpler than it is in HSV color space.
Walter Roberson
el 29 de Jun. de 2015
16 is the answer to be expected from the description of YCbCr in Wikipedia.
Categorías
Más información sobre Images en Centro de ayuda y File Exchange.
Productos
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!