How to remove horizontal and Vertical lines
5 views (last 30 days)
Show older comments
I have Binary Image,i need to remove horizontal and vertical lines in that image.Lines are not fixed size.
Is there any method for filtering these Lines..?
Does any one know please suggest me.
Thank You.
Accepted Answer
Image Analyst
on 27 Dec 2012
Probably a morphological opening (imclose in the Image Processing Toolbox)with a kernel of the proper shape, but you need to post an image for more advice.
5 Comments
Walter Roberson
on 28 Dec 2012
It appears to me that a fair bit of what you want to do could be accomplished by cropping.
More Answers (1)
Shaun VanWeelden
on 28 Dec 2012
First step, convert whatever format the image is in to bw logic values, just use im2bw(yourImageValues).
A really, really easy intuitive way to do it would be to check out the bwareaopen: http://www.mathworks.com/help/images/ref/bwareaopen.html
It would take care of the small dots on that first image and whatever else you wanted.
My other approach for large lines is how I use to find scales in images automatically. Simply search the image for a white pixel, then see how far and left you can go with a while loop. If gits a certain theshold (i.e its more than 200 pixels long), add the pixel to a "toEraseVector", you can call it whatever you want, the idea is after you go through your image (should be almost instantaneous), you will call imfill for those selected images, and fill in the white area. You may need to inverse your bw logic values matrix to make sure the color works out and whats supposed to be black is black and vice-versa.
Let me know if you have questions, otherwise good luck!
-Shaun
See Also
Categories
Find more on Image Processing and Computer Vision in Help Center and File Exchange
Products
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!