Dividing an image into blocks of 64*64
1 回表示 (過去 30 日間)
古いコメントを表示
I want to divide an image of size into blocks of 64*64 non-overlapping blocks and then apply a user defined function to calculate the ratio between highest pixel value and total pixel values. So how to divide the image into non-overlapping blocks ?
0 件のコメント
採用された回答
Walter Roberson
2018 年 6 月 16 日
aux_fun = @(block_info) YourFunction(block_info.block);
result = blockproc(aux_fun, [64 64], 'TrimBorder', false);
YourFunction should take in a 64 x 64 block and return the ratio or a vector of information.
Note: more work is needed if the image is not an exact multiple of 64 on each side.
8 件のコメント
Walter Roberson
2018 年 6 月 17 日
I = imread('cameraman.tif'); %for example
aux_fun = @(block_info) YourFunction(block_info.data);
result = blockproc(I, [64 64], aux_fun, 'TrimBorder', false)
with
function result = YourFunction(block_of_image)
result = double(max(block_of_image(:))) ./ sum(double(block_of_image(:)));
その他の回答 (0 件)
参考
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!