How can I convert a YCbCr image to 4:2:0

49 ビュー (過去 30 日間)
Damon Calvert
Damon Calvert 2020 年 2 月 18 日
編集済み: Joseph Cheng 2020 年 2 月 18 日
I have the image converted from rgb to YCbCr but now I have to change it from 4:4:4 to 4:2:0 and I have no idea how to do that.

回答 (1 件)

Joseph Cheng
Joseph Cheng 2020 年 2 月 18 日
編集済み: Joseph Cheng 2020 年 2 月 18 日
while you're probably not going to implement this in simulink but take a look at https://www.mathworks.com/help/vision/ref/chromaresampling.html which covers how it should be done for 4:4:4 to 4:2:2.
Not sure what the standard practice is for the down sampling as to which of say the 2x4 pixel subsets are used or average together to genearte the block but overall you're combining/binning the colors 2x2.
edit: also take a look at https://www.mathworks.com/matlabcentral/fileexchange/36417-yuv-files-reading-and-converting which is for YUV (yes i know you're looking for YCBCr)
where
yuv(:,:,1) = double(Y);
yuv(:,:,2) = imresize(double(U),2,'bicubic');
yuv(:,:,3) = imresize(double(V),2,'bicubic');
you can see that layer 2 and 3 (U and V) are resampled/resized to match the 4:2:0 scheme.
the file exchange that was mentioned in other answer posts appears to have been removed https://www.mathworks.com/matlabcentral/answers/65149-converting-ycbcr-4-4-4-to-4-2-0?s_tid=gn_loc_drop

カテゴリ

Help Center および File ExchangeConvert Image Type についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by