%!!!!!!出了好几次错误了 引以为戒!!!!!!!% 一般来说输入single的都要除以255.0 所以除了PSNR计算还是都用uint8
%如果处理数据需要转换为浮点数 ycbcr需要进行归一化即进行除255.0
% 意思就是如果rgb2ycbcr就需要输入[0,1]的数 如果要恢复的话就需要
%再乘255.0 但是uint8格式的话就不需要 所以直接用uint8格式即可
%这个只需要对应好格式就行都用single就转化为0-1 或者都用uint8 因此直接unit8操作就行
%!!!!!所以说还是用unit8好 但是除了psnr要用single--计算情况%以rgb2ycbcr举例,输入uint8格式的话 对应是没问题的
%但是输入single格式的话,就需要我们自己把input给归一化到[0.0,1.0]才行 即需要自己除以255.0
%这样对应结果才是一致的%代码如下:这样取得的结果才是一致的
imgpath = ['D:/pku/new desktop/dataset-DIV2k/Train/0001.png']
duan = imread(imgpath);
duan_single = single(duan)/255.0;duan_trans = rgb2ycbcr(duan);
duan_trans = duan_trans(:,:,1);
duan_single_trans = rgb2ycbcr(duan_single)*255.0;
duan_single_trans = duan_single_trans(:,:,1);