Crop images along a row instead of column
1 次查看(过去 30 天)
显示 更早的评论
Hi,
I have a collage of freshwater plankton and want to crop them along a row instead of by column. I have attached the binary picture, I also have the original image. I want to crop all the images in the collage. The code I use to crop by column is...
for k = 1 : numberOfBlobs(n) % Loop through all blobs.
% Find the bounding box of each blob.
thisBlobsBoundingBox = blobMeasurements{n}(k).BoundingBox; % Get list of pixels in current blob.
% Extract out this zoop into it's own image.
subImage = imcrop(OG_images{n}, thisBlobsBoundingBox);
% Saving the cropped image
%% did not add code as it is not needed
0 个评论
采纳的回答
Akshit Agarwal
2019-10-9
编辑:Akshit Agarwal
2019-10-14
Hi,
There is no such thing as cropping along row or column, the second parameter in imcrop function is a rectangle [xmin ymin width height] i.e. the bounding box of the subimage that you want to crop out of your image.
So if your code crops along the column then your 'thisBlobsBoundingBox' variable is what is telling the function to crop along the column. Go through your 'blobMeasurements', see how it is defined and change it accordingly.
For example: For an image of size 100 X 100.
subimage1 = imcrop(image, [0, 0, 100, 50])
subimage2 = imcrop(image, [0, 50, 100, 50])
will divide the original image along the row (horizontally) and subimage1 and subimage2 will hold both the cropped parts of the image.
更多回答(0 个)
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!