我正在处理 rgb 图像数据,我需要使用多个范围对其进行分析。所以我选择范围 1 是整个数据范围,范围 2 由 2 个范围组成,每个范围是数据范围的一半,范围 3 由 4 个范围组成,每个范围是我数据的 1/4,依此类推。我需要一个紧凑的 Matlab 代码来实现这一点,到目前为止我的代码如下:
% The raw data is a video sequence, it is stored into frames, and I'm working with 1 frame at a time.
% These ranges deal with the r component only
range_1=image_data(:,:,1,1);
%range 2
% for i=1:2
% range2(:,:,:,i)=image_data(1:1:vidHeight,1+((i-1)*vidWidth/2):1:(i-1)*vidWidth,1,1);
% end
range_2_1=image_data(1:1:vidHeight,1:1:vidWidth/2,1,1);
range_2_2=image_data(1:1:vidHeight,1+vidWidth/2:1:vidWidth,1,1);
%range 3
range_3_1=image_data(1:1:vidHeight/2,1:1:vidWidth/2,1,1);
range_3_2=image_data(1+vidHeight/2:1:vidHeight,1:1:vidWidth/2,1,1);
range_3_3=image_data(1:1:vidHeight/2,1+vidWidth/2:1:vidWidth,1,1);
range_3_4=image_data(1+vidHeight/2:1:vidHeight,1+vidWidth/2:1:vidWidth,1,1);
%range 4
range_4_1=image_data(1:1:vidHeight/4,1:1:vidWidth/2,1,1);
range_4_2=image_data(1+vidHeight/4:1:vidHeight/2,1:1:vidWidth/2,1,1);
range_4_3=image_data(1+vidHeight/2:1:3*vidHeight/4,1:1:vidWidth/2,1,1);
range_4_4=image_data(1+3*vidHeight/4:1:vidHeight,1:1:vidWidth/2,1,1);
range_4_5=image_data(1:1:vidHeight/4,1+vidWidth/2:1:vidWidth,1,1);
range_4_6=image_data(1+vidHeight/4:1:vidHeight/2,1+vidWidth/2:1:vidWidth,1,1);
range_4_7=image_data(1+vidHeight/2:1:3*vidHeight/4,1+vidWidth/2:1:vidWidth,1,1);
range_4_8=image_data(1+3*vidHeight/4:1:vidHeight,1+vidWidth/2:1:vidWidth,1,1);
我需要对所有图像帧的所有 rgb 数据的进一步范围进行此分析,总共 114 个。请告知。