we are first transforming the input image into YCbCr format and then dividing it into 16*16 blocks.So can we apply the above LBP algorithm to find the LBPcode of each block
how to divide an image into 16x16 non overlapping blocks
10 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Navya George
le 28 Jan 2017
Commenté : Walter Roberson
le 16 Août 2022
how to divide an image into 16x16 non overlapping blocks for finding the local binary pattern in the further steps
Réponse acceptée
John Chilleri
le 28 Jan 2017
Modifié(e) : John Chilleri
le 28 Jan 2017
Hello,
Assuming your image has size m x n where m and n are multiples of 16:
YourImage = im2double(YourImage);
[m,n] = size(YourImage);
Blocks = cell(m/16,n/16);
counti = 0;
for i = 1:16:m-15
counti = counti + 1;
countj = 0;
for j = 1:16:n-15
countj = countj + 1;
Blocks{counti,countj} = YourImage(i:i+15,j:j+15);
end
end
You can access the blocks by calling Blocks{i,j}.
Hope this helps!
9 commentaires
Walter Roberson
le 16 Août 2022
img = imresize(imread('flamingos.jpg'), [256 256]);
[rows, cols, panes] = size(img);
rb = rows/16; cb = cols/16;
tiledlayout(rb, cb, 'tilespacing', 'tight');
blockproc(img, [16 16], @dispblock);
function h = dispblock(block_struct)
nexttile();
image(block_struct.data);
axis off
%block_struct.location, hh
h = [];
end
Plus de réponses (1)
Image Analyst
le 28 Jan 2017
Modifié(e) : Image Analyst
le 28 Jan 2017
This is a FAQ. See a couple of different ways to do this in the FAQ document: http://matlab.wikia.com/wiki/FAQ#How_do_I_split_an_image_into_non-overlapping_blocks.3F
See my attached demo for LBP.
0 commentaires
Voir également
Produits
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!