clc; IMG1 = imread('./picture./19.jpg'); %读取照片 h=size(IMG1,1); w=size(IMG1,2);%读取照片的长宽 subplot(2,2,1);imshow(IMG1);title('RGB Image') IMG1 = double(IMG1); IMG_YCbCr = zeros(h,w,3); for i = 1:h for j = 1:w IMG_YCbCr(i,j,1) = bitshift((IMG1...
RGB转YcbCr色彩空间MATLAB代码实现 1%将一幅640*480的彩色图片转换成显示成灰度显示?2clc;3clear all;4close all;56RGB_data = imread('lena.jpg');%图像读入78R_data = RGB_data(:,:,1);9G_data = RGB_data(:,:,2);10B_data = RGB_data(:,:,3);1112imshow(RGB_data);1314[ROW,COL, DIM] ...
YCBCR= rgb2ycbcr(RGB)将 RGB 图像的红色、绿色和蓝色值转换为 YCbCr 图像的亮度 (Y) 和色度(Cb和Cr)值。 示例 示例 全部折叠 将RGB 转换为 YCbCr 将图像从 RGB 转换为 YCbCr 将RGB 图像读取到工作区。 RGB = imread("board.tif"); 将图像转换为 YCbCr。
%RGB转换到YCbCr R=I(:,:,1);G=I(:,:,2);B=I(:,:,3);Y=16+(0.256789*R+0.504129*G+0.097906*B);Cb=128+(-0.148223*R-0.290992*G+0.439215*B);Cr=128+(0.439215*R-0.367789*G-0.071426*B);rebuilt_Cb=1:300;rebuilt_Cr=1:300;%图像压缩与解压 for i=1:2:299 for j...
约定,我们采用上一节中full range的YCbCr转RGB的公式进行推导。 由于Y或者CbCr的计算类似,这里仅以Y为例进行推演,最原始的公式如下: Y0 = R*0.299 + G*0.587 + B*0.114 首当其冲的是干掉浮点,那么进行256倍扩大后,如下(防止溢出,得取不大于本身的最大整数,即直接*256后直接舍去小数) ...
YCBCR = rgb2ycbcr(RGB)
RGB转YCbCr的转换公式如下: Y = 0.299R + 0.587G + 0.114B Cb = -0.169R - 0.331G + 0.5B + 128 Cr = 0.5R - 0.419G - 0.081B + 128 以上公式是基于以下定义: Y是亮度分量,表示图像的明亮程度。 Cb是蓝色色度分量,表示蓝色和洋红色的强度。
%hsv转RGB rgb1=hsv2rgb(HSV); subplot(2,4,5) imshow(rgb1) title('hsv转RGB') %RGB转YCBCR yc=rgb2ycbcr(image); subplot(2,4,6) imshow(yc) title('RGB转YCBCR') %YCBCR转RGB rgb2=ycbcr2rgb(yc); subplot(2,4,7) imshow(rgb2) ...
二者相互转换公式: 1、RGB转YCBCR Y=0.257*R+0.564*G+0.098*B+16Cb=-0.148*R-0.291*G+0.439*B+128Cr=0.439*R-0.368*G-0.071*B+128 2、YCBCR转RGB R=1.164*(Y-16)+1.596*(Cr-128)G=1.164*(Y-16)-0.392*(Cb-128)-0.813*(Cr-128)B=1.164*(Y-16)+2.017*(Cb-128) ...