⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xil_rgb2ycrcb_init_mdl.m

📁 RGB to Y CB CR conversion source code in VHDL
💻 M
字号:
function [input_image, input_image_r, input_image_g, input_image_b, matlab_y, matlab_cr, matlab_cb] = Xil_RGB2YCrCb_init_mdl()

%input_image = imread('paradise.ppm','ppm');
%input_image = imread('pattern1.tif','tiff');
%input_image = imread('pattern0.tif','tiff');

IN_MAX = 255.49;
input_image =  round( IN_MAX *reshape( jet(256) , 16,16,3));
[ysize,xsize,planes] = size(input_image);

figure(1); colormap('gray');

subplot(2,2,1);
imshow( uint8(input_image )); xlabel('ORIGINAL RGB');

input_image_rm = input_image(:,:,1);
input_image_gm = input_image(:,:,2);
input_image_bm = input_image(:,:,3);

subplot(2,2,2);
imshow( uint8(input_image_rm )); xlabel('ORIGINAL R');
subplot(2,2,3);
imshow( uint8(input_image_gm) ); xlabel('ORIGINAL G');
subplot(2,2,4);
imshow( uint8(input_image_bm) ); xlabel('ORIGINAL B');

% Use matlab rgb2ycbcr native conversion
color_sub = [gcs, '/ColorSpace Conversion RGB to YCrCb'];
param_a = str2num(get_param(color_sub, 'coefA'));
param_b = str2num(get_param(color_sub, 'coefB'));
param_d = str2num(get_param(color_sub, 'coefC'));
param_c = str2num(get_param(color_sub, 'coefD'));
c_bits  = str2num(get_param(color_sub, 'c_bits'));

% core parameterization values:
% AC=612/2048;        % 0.299   => Biometric constants
% BC=233/2048;        % 0.114    
% CC=0.5/(1-AC);      % Scaling constants reducing the dynamic range 
% DC=0.5/(1-BC);      % of Cb and Cr to -0.5 to 0.5 (0 to 1 with offset compensation

[matlab_y, matlab_cr, matlab_cb] = double_rgb2ycrcb(input_image_rm, input_image_gm, input_image_bm, param_a, param_b, param_c, param_d);

figure(2); colormap('gray');
subplot(2,2,2); 
imshow(matlab_y); xlabel('ORIGINAL Y');
subplot(2,2,3); 
imshow(matlab_cb); xlabel('ORIGINAL Cb');
subplot(2,2,4); 
imshow(matlab_cr); xlabel('ORIGINAL Cr');

input_image_rt = 0;
input_image_gt = 0;
input_image_bt = 0;

for i=1:ysize;
    input_image_tempr   = input_image_rm(i,:);
    input_image_rt      = [input_image_rt input_image_tempr];
    input_image_tempg   = input_image_gm(i,:);
    input_image_gt      = [input_image_gt input_image_tempg];
    input_image_tempb   = input_image_bm(i,:);
    input_image_bt      = [input_image_bt input_image_tempb];
end
input_image_r =  input_image_rt(2:xsize*ysize+1);
input_image_g =  input_image_gt(2:xsize*ysize+1);
input_image_b =  input_image_bt(2:xsize*ysize+1);

end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -