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

📄 xil_ycrcb2rgb_post_proc.m

📁 VHDL代码
💻 M
字号:
function [vhdl_out_r, vhdl_out_g, vhdl_out_b] = Xil_YCrCb2RGB_post_proc(data_out_r, data_out_g, data_out_b, v_sync, input_image_rm, input_image_gm, input_image_bm)

[ysize,xsize,planes] = size( input_image_rm );

delay  = find(v_sync==1); % Dynamic alignment 

scale = pow2(ceil(log2(max(max(max([data_out_r, data_out_g, data_out_b])))))-8);

vhdl_out_r = uint8( round( reshape(data_out_r(delay:delay+xsize*ysize-1), ysize, xsize)/scale));
vhdl_out_g = uint8( round( reshape(data_out_g(delay:delay+xsize*ysize-1), ysize, xsize)/scale));
vhdl_out_b = uint8( round( reshape(data_out_b(delay:delay+xsize*ysize-1), ysize, xsize)/scale)); 

figure(3); colormap('gray');
subplot(2,2,1);
rgb_image(:,:,1) = mod(round(vhdl_out_r),256); 
rgb_image(:,:,2) = mod(round(vhdl_out_g),256); 
rgb_image(:,:,3) = mod(round(vhdl_out_b),256);
imshow( uint8(rgb_image) ); xlabel('VERIFICATION RGB');
subplot(2,2,2);
imshow(double(vhdl_out_r)/255); xlabel('VERIFICATION R');
subplot(2,2,3);
imshow(double(vhdl_out_g)/255); xlabel('VERIFICATION G');
subplot(2,2,4);
imshow(double(vhdl_out_b)/255); xlabel('VERIFICATION B');


%error_luma    = sum(sum(abs(vhdl_out_r - input_image_rm)))/(xsize*ysize)
%error_cr      = sum(sum(abs(vhdl_out_g - input_image_gm)))/(xsize*ysize)
%error_cb      = sum(sum(abs(vhdl_out_b - input_image_bm)))/(xsize*ysize)

%PSNR_luma    = psnr(vhdl_out_r, input_image_rm, ysize, xsize)
%PSNR_cr      = psnr(vhdl_out_g, input_image_gm, ysize, xsize)
%PSNR_cb      = psnr(vhdl_out_b, input_image_bm, ysize, xsize)

%MSE_luma     = mse(vhdl_out_r, input_image_rm);
%MSE_cr       = mse(vhdl_out_g, input_image_gm);
%MSE_cb       = mse(vhdl_out_b, input_image_bm);

end

⌨️ 快捷键说明

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