How can I make an auto cropping command

10 visualizzazioni (ultimi 30 giorni)
Please, see the two images I attach.
They are actually the same images, but the one is cropped at the middle of the imaging window. I defined a cropping window and just cropped it.
How can I have the same procedure in an automated way?
So Matlab needs to identify the imaging window and assume we put some values to automatically create a cropping window of e.g. 50% of the standoff's thickness. and another 50% of soft tissue. This can also be adjusted by the user and be able to chose his own values.
Looking forward to your valuable help.
God bless you.

Risposta accettata

Image Analyst
Image Analyst il 29 Gen 2019
I thought I already gave you code for this. Basically you threshold it, then call bwareafilt() to extract the largest blob. Then call regionprops() to get the bounding box. Then reassign the last element of the bounding box to be whatever height you want, then call imcrop(). Try it. Here's a start
binaryImage = bwareafilt(grayImage > 0, 1);
props = regionprops(binaryImage, 'BoundingBox');
bb = props.BoundingBox;
bb(end) = 100; % Whatever height you want.
croppedImage = imcrop(grayImage, bb);
imshow(croppedImage);
  8 Commenti
Stelios Fanourakis
Stelios Fanourakis il 30 Gen 2019
Now that I am thinking about is that this method starts counting from top of the imaging window. If you notice on the image, at the top boundary you'll see some artifacts that I need to avoid, otherwise, they will cause me trouble on the segmentation process with the active contour.
In this case, I need the cropping window to start a bit lower NOT to include the artifacts, but later on, I need to know how many pixel rows and columns I missed, as a magnitude and add them later on, since, I care about the total imaging window dimensions and I wouldn't like to miss any rows and columns.
Am I clear?
Stelios Fanourakis
Stelios Fanourakis il 30 Gen 2019
How do I tell Matlab that I want the 50% or 70% of the cropping window as it is, starting from the bottom of the image NOT from the top. So, the remaining 50% or 30% will be deducted from the top of the cropping window.
And, then, I need to know how many pixel rows were deducted so to add them later on, as pixels or mm.

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Convert Image Type in Help Center e File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by