Spliting an Image into smaller images of NxN

1 次查看(过去 30 天)
I have an image of 1000x1000 pixels, I want to split the image into NxN size blocks and save them into a cell and export them into .jpe files.

采纳的回答

Naqi
Naqi 2011-11-5
I tried using blockproc(), but could not save block_struct.data into a matrix. I want to be able to export the images into .jpg files.
  1 个评论
Walter Roberson
Walter Roberson 2011-11-5
You do not need to save the data in to a matrix: just write out the image directly.
imwrite(block_struct.data, FILENAME, 'jpg')
Now the only question becomes one of how to determine what filename to use.

请先登录,再进行评论。

更多回答(2 个)

Image Analyst
Image Analyst 2011-11-5
Just do this:
smallGrayImage = fullSizeGrayImage(row1:row2, col1:col2);
If it's color you can do this:
smallRGBImage = fullSizeRGBImage(row1:row2, col1:col2,:);
You'll need to set up row1, row2, col1, and col2 for each subimage with this method, but it's pretty straightforward.

Walter Roberson
Walter Roberson 2011-11-5
mat2cell() or blkproc() or blockproc().
You will have to decide what you want to do when N does not evenly divide 1000, leaving you with partial images.

Community Treasure Hunt

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

Start Hunting!

Translated by