MATLAB Answers


How to remove horizontal and Vertical lines

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.

2 Answers

Answer by Image Analyst
on 27 Dec 2012
 Accepted Answer

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.


Same here. And it's doubtful that my answer should have been accepted (yet) since it was somewhat vague and awaiting an image to make an improved suggestion.
Sorry for that..
Please find in dropbox link
I tried with 'imopen' function, but it is removing other object in a image by retaining Lines.
Here i need to remove lines and square box and < symbol, Please check the two images. any help is appreciated.
Thank You.
It appears to me that a fair bit of what you want to do could be accomplished by cropping.

Sign in to comment.

Answer by 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:
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!

  1 Comment

Hi Shaun,
Could you please explain me your second method for large lines with example.
Thank You.

Sign in to comment.