after we obtain a binary image ...is there any way to strong the edge??

hi after we obtain a binary image with edge for example with otsu method ...is there any way to strengthen these edges??

8 commentaires

@sara, When you post questions, the "Tags" field is not meant to contain a duplicate of your question. It is meant to contain useful keywords that people can use for search purposes, e.g., 'edge', 'otsu', etc...
ok Matt
thanks
I don't know what that means - to "strong" an edge. Strong is not even a verb. Please get another English speaker to translate.
Hi Image Analyst,
I believe she want's to stress/emphasize the edges. I'm afraid neither me nor Sara are native English speaker, but in our native language that's what strong means!
Would you please tell me how to count the coins below?! I thought by detecting their edges (lower right) it's going to be easy. I wrote something to eleminate the neighboring white pixels except one, so 1 white pixel of each coin remain, but the closest I could get was 9 coins, while it's only 4!
Regards,
SH
Salaheddin: If she wants the "strength" of the edges, she can use imgradient() instead of edge() and just look at the value of the gradient image. If she wants to "enhance" edges to make them more contrasty, then she can use conv2() or imfilter() with a kernel like (-1,-1,-1;-1,17,-1;-1,-1,-1]. That's basically a Laplacian (edges) plus the original image. So it adds an edge (high pass) image, like imgradient(), to the original image, making the edges more prominent.
For the coin question, you should not use edge(), you can use thresholding. See my Image Segmentation Tutuorial - it uses coins. http://www.mathworks.com/matlabcentral/fileexchange/?term=authorid%3A31862
Hello Image Analyst.
Thanks a lot for the quick reply and the link to your demos.
I hope I live long enough, to learn all these cool things and even more :)
Many Regards,
SH
strengthen = to make stronger
strong, used like sara used it could equally have been a typo for storing as well as "make stronger"
thanks lain

Connectez-vous pour commenter.

Réponses (2)

To make edges more contrasty, use a high boost filter:
kernel = [-1,-1,-1;-1,17,-1;-1,-1,-1]/9;
highBoostFilteredImage = imfilter(double(grayImage), kernel);
imshow(highBoostFilteredImage, []);
That's one way, anyway. There are others.

2 commentaires

After reading your "Answer" I really don't know what you want to do. Perhaps you can find a paper here that did the same thing you would like to do: http://www.visionbib.com/bibliography/contentsmedical.html#Medical%20Applications,%20CAT,%20MRI,%20Ultrasound,%20Heart%20Models,%20Brain%20Models
thanks Image Analyst after obtaining enough information I will come back soon and ask my question in a clear way.

Connectez-vous pour commenter.

thanks Image Analyst and Salaheddin Hosseinzadeh
dear Image Analyst with your guidance and some modification that I did , I obtain a better result..but if you see there is a lesion around lung .I thouth if I use a filter that strong the edge maybe the result is better ...I used your seggustion
if true
kernel = [-1,-1,-1;-1,17,-1;-1,-1,-1]/9;
highBoostFilteredImage = imfilter(double(grayImage), kernel);
imshow(highBoostFilteredImage, []);
end
but I think it is not a good idea...Image Analyst and Salaheddin Hosseinzadeh do you have a good idea?

1 commentaire

I believe the discussion is taking place now in your duplicate thread.

Connectez-vous pour commenter.

Question posée :

le 15 Sep 2014

Commenté :

le 17 Sep 2014

Community Treasure Hunt

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

Start Hunting!

Translated by