Hello
How can I make automatic crop around core? like
.

2 commentaires

Rik
Rik le 24 Juin 2018
Have a read here (or here for more general advice) and here. It will greatly improve your chances of getting an answer.
wisam kh
wisam kh le 24 Juin 2018
Thank you

Connectez-vous pour commenter.

 Réponse acceptée

Image Analyst
Image Analyst le 24 Juin 2018

0 votes

Why do you need to crop it?
Anyway, if you do for some reason, you can just binarize and look for the min and max row and column.
binaryImage = imbinarize(grayImage);
[rows, columns] = find(binaryImage);
row1 = min(rows);
row2 = max(rows);
col1 = min(columns);
col2 = max(columns);
croppedGrayImage = grayImage(row1:row2, col1:col2);
imshow(croppedImage);

5 commentaires

wisam kh
wisam kh le 24 Juin 2018
Thank you But the crop must be surround a specific point that varies from one image to another, I tried your suggestion and did not succeed
Image Analyst
Image Analyst le 24 Juin 2018
Please post your original gray scale image and the code that you used to binarize and crop the image.
wisam kh
wisam kh le 24 Juin 2018
Modifié(e) : wisam kh le 24 Juin 2018
</matlabcentral/answers/uploaded_files/122639/imge_with%20core.jpg> this image after preprocessing and finde the core
I am currently using this code But crop measurements are not uniform for all images [X,Y]=get_core(binarize_img); % find core point
i1=X-30;
i2=X-30;
i3=Y-30;
i4=Y-30;
M = imcrop(original_img,[i1 i3 i2 i4]);
figure, imshow(M);title('crop Image');
Image Analyst
Image Analyst le 24 Juin 2018
Modifié(e) : Image Analyst le 24 Juin 2018
Well there's the problem. You totally ignored my code in my answer, and did it your own (wrong) way. Why?
wisam kh
wisam kh le 25 Juin 2018
I am sorry sir, I did not ignore your answer, but I tried it and did not succeed.
BW=im2bw(img,0.8);
[rows, columns] = find(BW);
row1 = min(rows);
row2 = max(rows);
col1 = min(columns);
col2 = max(columns);
croppedImage = img(row1:row2, col1:col2);
figure, imshow(croppedImage);title('crop Image');
but the problem was here: BW=im2bw(img,0.8);
that should be : BW=~im2bw(img,0.8);
Now the problem has been solved
am sorry
Thank you so much for your time and effort
I apologize to you again

Connectez-vous pour commenter.

Plus de réponses (0)

Catégories

Community Treasure Hunt

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

Start Hunting!

Translated by