Using blockproc to simply copy an array
2 次查看(过去 30 天)
显示 更早的评论
Hi can I use blockproc to copy 3 arrays
and them merge them
redChannel = I(:, :, 1);
greenChannel = I(:, :, 2);
blueChannel = I(:, :, 3);
%% output functions
funr = redChannel + greenChannel + blueChannel;
fung = S(:,:,2);
funb = S(:,:,3);
blockSize = [64 64];
@(block_struct) (block_struct.data) * ones(size(block_struct.data));
%% blocks
blockyImageR = blockproc(I, blockSize, funr)
blockyImageR = blockproc(redChannel, blockSize, fung)
The above trials are not working.
output should be blocks of 64x64x3
0 个评论
回答(1 个)
Matt J
2020-11-22
Using sepblockfun from the file exchange,
blockSize = [64 64];
R=sepblockfun(I,[blockSize,3],'sum');
R=repelem(R,blockSize);
I(:,:,1)=R;
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!