0
matlab R2013a에서 rgb2ycbcr
함수를 사용하여 RGB를 YCBCR 색상 공간으로 변경했습니다. 그리고 YCBCR의 각 채널을 jpeg 이미지로 저장했습니다. 그런 다음 jpeg 이미지 (예 : CB 채널)를 읽었지만 JPEG 값 이미지가 저장되기 전에 채널 CB와 다른 것을 발견했습니다. 왜 이런 일이 생길까요? 여기 내 코드입니다 : YCbCr 채널이 jpeg 이미지로 저장된 이유는 무엇입니까?
I = imread('pic.jpg'); % // 'pic.jpg' is an unin8 rgb image
YCBCR = rgb2ycbcr(I);
Y = YCBCR(:,:,1);
CB = YCBCR(:,:,2);
CR = YCBCR(:,:,3);
imwrite(Y,'F:\CASIA V1.0\Y.jpg','jpg');
imwrite(CB,'F:\CASIA V1.0\CB.jpg','jpg');
imwrite(CR,'F:\CASIA V1.0\CR.jpg','jpg');
그런 다음 나는
CB.jpg
읽고, 나는 픽셀 값이
YCBCR(:,:,2)
에서 사람들과 다른 발견했다. 내 코드에 문제가 있습니까? 아무도 내 질문에 대답 할 수 있다면 매우 감사 할 것입니다.
감사합니다. 정말 도움이됩니다! –