www.gusucode.com > YUV视频阅读程序源码程序 > YUV视频阅读程序源码程序/YUV/yuv_range.m
function [Yrange,Urange,Vrange]=yuv_range(yuvfile,dims) %Computes the range of samples in YUV sequence %[Yrange,Urange,Vrange]=yuv_range(yuvfile,dims) % %Input: % filename - YUV sequence file % dims - dimensions of the frame [width height] % %Output: % Yrange, Urange, Vrange - ranges of the components values % %Note: % Supports only the YUV420_8 format. % %Example: % [Yrange, Urange, Vrange] = yuv_range('FOREMAN_352x288_30_orig_01.yuv',[352 288]); numfrm = seq_frames(yuvfile,dims); Ymin = Inf; Ymax = -Inf; Umin = Inf; Umax = -Inf; Vmin = Inf; Vmax = -Inf; for i=1:numfrm [Y, U, V] = yuv_import(yuvfile,dims,1,i-1); %minimum Ymin = min(Ymin, min(Y{1}(:))); Umin = min(Umin, min(U{1}(:))); Vmin = min(Vmin, min(V{1}(:))); %maximum Ymax = max(Ymax, max(Y{1}(:))); Umax = max(Umax, max(U{1}(:))); Vmax = max(Vmax, max(V{1}(:))); end; Yrange = [Ymin Ymax]; Urange = [Umin Umax]; Vrange = [Vmin Vmax];