I am converting RGB to YCBCR image but reverse is not working.

3 visualizzazioni (ultimi 30 giorni)
I want to convert RGB image to YCBCR by using rgb2ycbcr, it is working but when I am using ycbcr2rgb to get back image then it is now converting properly.
  2 Commenti
Simon Chan
Simon Chan il 16 Ago 2021
Do you mean the function is not working which cannot generate an image for you? Or the generated RGB image has pixel values which are not exactly the same as the original RGB image?
Balkar Singh
Balkar Singh il 16 Ago 2021
You are right, pixel value are not exactly the same as the orginal value.

Accedi per commentare.

Risposta accettata

Walter Roberson
Walter Roberson il 16 Ago 2021
The below images would show color if there was notable difference between the original image and the reconstructed image. But there isn't -- the maximum change during the reconstruction process is 2 out of 256.
imgrgb = imread('flamingos.jpg');
imgy = rgb2ycbcr(imgrgb);
imgrgb2 = ycbcr2rgb(imgy);
max(abs(double(imgrgb) - double(imgrgb2)),[],'all')
ans = 2
imshowpair(imgrgb(:,:,1), imgrgb2(:,:,1));
imshowpair(imgrgb(:,:,2), imgrgb2(:,:,2));
imshowpair(imgrgb(:,:,3), imgrgb2(:,:,3));
  2 Commenti
Balkar Singh
Balkar Singh il 16 Ago 2021
But due to some loss, I am not able to extract the watermark image properly.

Accedi per commentare.

Più risposte (1)

Balkar Singh
Balkar Singh il 16 Ago 2021
You are right, pixel value are not exactly the same as the orginal value.
  2 Commenti
Image Analyst
Image Analyst il 16 Ago 2021
Some rounding errors will occur during a round trip when you are converting integers to floating point and then back again.
Balkar Singh
Balkar Singh il 16 Ago 2021
Please consider the example given by Walter Roberson, what i have to add in that example.

Accedi per commentare.

Tag

Community Treasure Hunt

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

Start Hunting!

Translated by