how can i set the pixel intensity values (I) that fall in the range, 200> I >30 to I = 200.

1 view (last 30 days)
I am dealing with large images

Accepted Answer

Image Analyst
Image Analyst on 20 Jul 2015
Try adapthisteq(). Try it yourself first. It will get rid of the dark background and normalize all the writing. try different parameters until you get it correct. Come back with your code if you need help.
  10 Comments
dp sb
dp sb on 24 Jul 2015
Edited: dp sb on 24 Jul 2015
Here's two images.
The above binary image picked up line which i didnt want to but i could eliminate them by looking for circularities <5 until <50. this particular image has two lines with circularities 60 and 90.
But the problem comes here, have a look at this image,
This image has a small blob which i want my code to pick up coz it's blacked out and has information to read in it. this blob has circularity of 15. so when i try to go <5 i could eliminate lines but also am eliminating blobs like these which i dont want to. i could also go < 50 and which will not elimate a blob like this but the problem is this is a small blob and there are images with large blobs and circularities upto 200. i can't come with an optimum parameter which can give me desired results. Is there an other way with which i could eliminate lines and only look at blobs with shapes like blocks or small circles.
Plz help, Thank You.
Image Analyst
Image Analyst on 24 Jul 2015
You might try bwconvhull() on the binary image before calculating the area and perimeter. This will round out the blobs and make that bottom one have not so high a circularity.

Sign in to comment.

More Answers (1)

David Young
David Young on 17 Jul 2015
Img(200 > Img & Img > 30) = 200;
  3 Comments

Sign in to comment.

Community Treasure Hunt

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

Start Hunting!