I am converting RGB to YCBCR image but reverse is not working.
2 ビュー (過去 30 日間)
古いコメントを表示
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 件のコメント
Simon Chan
2021 年 8 月 16 日
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?
採用された回答
Walter Roberson
2021 年 8 月 16 日
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')
imshowpair(imgrgb(:,:,1), imgrgb2(:,:,1));
imshowpair(imgrgb(:,:,2), imgrgb2(:,:,2));
imshowpair(imgrgb(:,:,3), imgrgb2(:,:,3));
2 件のコメント
その他の回答 (1 件)
Balkar Singh
2021 年 8 月 16 日
2 件のコメント
Image Analyst
2021 年 8 月 16 日
Some rounding errors will occur during a round trip when you are converting integers to floating point and then back again.
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!