spliting image to 16x16 blocks

2 ビュー (過去 30 日間)
nadia naji
nadia naji 2013 年 3 月 4 日
hi i have an image with size 320x240 i want to split it to 16x16 blocks but i don't use for loop. i don't process these blocks and i only save theme that after 30 frame i do LBP 3d on it? can you help me

回答 (2 件)

Jan
Jan 2013 年 3 月 4 日
SplitImage = reshape(Image, 16, 20, 16, 15);
SplitImage = permute(SplitImage, [1, 3, 2, 4]);
SplitImage = reshape(SplitImage, [16, 16, 300]);

Walter Roberson
Walter Roberson 2013 年 3 月 4 日
SplitImage = mat2cell(Image, 16 * ones(1, size(Image,1) / 16), 16 * ones(1, size(Image,2) / 16), size(Image,3));
  3 件のコメント
nadia naji
nadia naji 2013 年 3 月 4 日
thanks for your help i use this function
Matt J
Matt J 2013 年 3 月 4 日
Glad it does what you want, though if speed was your goal, Jan's method is about 4 times faster.

サインインしてコメントする。

Community Treasure Hunt

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

Start Hunting!

Translated by