Drexel dragonThe Math ForumDonate to the Math Forum

Search All of the Math Forum:

Views expressed in these public forums are not endorsed by Drexel University or The Math Forum.

Math Forum » Discussions » Software » comp.soft-sys.matlab

Topic: Image Processing
Replies: 2   Last Post: Apr 30, 2012 8:07 PM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]

Posts: 107
Registered: 2/27/10
Re: Image Processing
Posted: Apr 30, 2012 7:25 PM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

"James " <jb00201@surrey.ac.uk> wrote in message <jnmtvr$b27$1@newscl01ah.mathworks.com>...
> Hi all,
> I have an image which is the output of an experiment. It has totally vertical lines (unwanted), curving lines (wanted) and noise (obviously unwanted).
> I have tried using methods such as sobel filtering to detect the vertical lines and then subtract them from the original image. However, I'm not sure if I am doing it wrong but the sobel filter creates two lines for each one it detects. I understand it is an edge detector so I guess it is detecting both 'edges' of this single pixel line. Is there any easy way to isolate these lines so I can then subtract them?
> The second issue, and probably much harder, is that there are wanted features of the image which are very faint (in some cases fainter than the noise surrounding them). I have thought about maybe some sort of 'motion detection' in order to find repeating points however I have been unsuccessful. Can anyone suggest a way to do such a thing?
> Any help is gretly appreciated.
> Thanks

If the lines are indeed totally vertical, then something along the _lines_ of the following might help:

%create a binary image with a vertical line, and a horizontal line
imgin = false(50);
imgin(:, 10:11) = true;
imgin(10:15, :) = true;

%create a vertical structuring element larger than the
vert_kern = strel('line', 7, 90);

%apply it, leaving only your vertical lines.
imgout = imopen(imgin, vert_kern);

This would help you remove the lines after sobel detection, but you could also try it on your raw image, before sobel. Indeed, this might allow you to do a simple thresholding to get these vertical lines. After you have then isolated, removing them becomes much simpler.

As for detecting objects fainter than noise, an example image or two would do wonders, as "objects" isn't terribly descriptive.

Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© The Math Forum 1994-2015. All Rights Reserved.