How to select and crop a particular region from the image?
41 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
Catégories
En savoir plus sur Computer Vision with Simulink dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!