How to select and crop a particular region from the image?
98 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
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 Commenti
Risposta accettata
blaat
il 18 Ago 2015
Modificato: blaat
il 18 Ago 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 Commenti
Più risposte (1)
Josep Llobet
il 23 Lug 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 Commenti
Vedere anche
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!