is there an alternative of thresholding an image automatically rather than setting it manually?
8 次查看(过去 30 天)
显示 更早的评论
actually i am trying to implement a code that identifies just the round objects from an image referring http://www.mathworks.com/products/image/demos.html?file=/products/demos/shipping/images/ipexroundness.html , but the problem is that, every time for a new picture i have to change pixel value and threshold so that round objects are only visible and successfully identifies round objects rather than missing any... any alternative? or any guidence??
0 个评论
采纳的回答
Chandra Kurniawan
2011-12-27
Actually function im2bw automatic select threshold value if
you do not pass any parameter except the input image.
Or try another option,, you can use graythresh if you consider not to setting the threshold value manually.
Eq:
J = im2bw(I, graythresh(I));
2 个评论
Chandra Kurniawan
2011-12-27
Just use 'greater than' operator.
Eq :
threshold = 128;
I = imread('cameraman.tif');
J = I > threshold;
The array J stores all value that greater than threshold as 1
更多回答(1 个)
bubble trouble
2011-12-27
4 个评论
Chandra Kurniawan
2011-12-27
I'm not sure about this.
But, would you try property measurement of image regions??
Use command 'regionsprops' and select the parameter 'Area'.
You can measure all object area and take a conclusion.
From this step, you will get all object area. There are minimum area and maximum area.
Take the mean of all area and apply this value as P (input parameter in bwareaopen).
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!