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

2 Kommentare

Rik
Rik am 24 Jun. 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 am 24 Jun. 2018
Thank you

Melden Sie sich an, um zu kommentieren.

 Akzeptierte Antwort

Image Analyst
Image Analyst am 24 Jun. 2018

0 Stimmen

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 Kommentare

wisam kh
wisam kh am 24 Jun. 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 am 24 Jun. 2018
Please post your original gray scale image and the code that you used to binarize and crop the image.
wisam kh
wisam kh am 24 Jun. 2018
Bearbeitet: wisam kh am 24 Jun. 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 am 24 Jun. 2018
Bearbeitet: Image Analyst am 24 Jun. 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 am 25 Jun. 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

Melden Sie sich an, um zu kommentieren.

Weitere Antworten (0)

Kategorien

Community Treasure Hunt

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

Start Hunting!

Translated by