How to access the image's blocks in an iterative way

1 view (last 30 days)
yasmine
yasmine on 31 Dec 2011
Hi
i have a database of 100 images of size 256X384 RGB images.
i divided each image into 6 equal blocks.
now i want to make this in a big nested loop with keeping record of every image and blocks.
i thought to make a big 2D array of size(100 , 6*128 , 128) but i have a problem to access the first layer of each block
i tried this code :
for i=1:6
hblock(k,i*128,128)=iblock(k,i*128,128)(:,:,1);
end
but i got this error:
()-indexing must appear last in an index expression.
i tried using cell arrays but the results wasn't as accurate as numeric arrays.
any help will be appreciated Thank you

Answers (1)

Image Analyst
Image Analyst on 31 Dec 2011
You can't have two indexing things with an array, like array()(). You can have only one set of parentheses. I'm not sure what you're after. Do you want to store the kth slice, or the first slice in your new 3D array?
  5 Comments
Image Analyst
Image Analyst on 31 Dec 2011
Answer my question on using size(). What is iblock? How did you create that array?

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!