How to select and crop a particular region from the image?
98 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Jonathan
le 18 Août 2015
Réponse apportée : Josep Llobet
le 23 Juil 2021
After some filtering, I manage to get this image,
My question is, how do you select and hopefully crop the region of interest? So I can get something like this.
Many thanks,
0 commentaires
Réponse acceptée
blaat
le 18 Août 2015
Modifié(e) : blaat
le 18 Août 2015
If you have the Image Processing Toolbox, you can use the function imrect() to select a rectangular area from your image. For example:
figure;
imshow(img);
h_rect = imrect();
% Rectangle position is given as [xmin, ymin, width, height]
pos_rect = h_rect.getPosition();
% Round off so the coordinates can be used as indices
pos_rect = round(pos_rect);
% Select part of the image
img_cropped = img(pos_rect(2) + (0:pos_rect(4)), pos_rect(1) + (0:pos_rect(3)));
2 commentaires
Plus de réponses (1)
Josep Llobet
le 23 Juil 2021
You can select just the regions of the matrix that define your image, as follows:
img_cropped = img(300:450, 500:600);
imshow(img_cropped)
In the example, you will select the image in the regions between 300 and 450 of the x axis, and the 500 to 600 in the y axis.
If you want to know the size of the matrix which define your image, you can use size()
size(img)
Hope this will be useful!!
0 commentaires
Voir également
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!