Click here to Skip to main content
1.78 / 5, 13 votes
8 votes, 61.5%
1

2

3
2 votes, 15.4%
4
3 votes, 23.1%
5

Image Segmentation using Gradient method

Automatic Detection of stains in a camera lens using Image Segmentation

Sample Image - dimimg.jpg

Introduction

This is a pure image processing technique to detect the dims or stains, whatever you call, automatically. It is a type of edge detection method called Gradient Method. It is a type of image segmentation where in which, first applying the Gaussian Lowpass Filter to the image will give you a smoothed image. After that convolving the image with two masks called horizontal and vertical masks, which gives the horizontal and vertical gradient values of the image. To the find the magnitude of the gradient values we have to square the horizontal and vertical values and finding the square root of the combined values. This gives the gradient values of the image. The highest gradient value in the image falls on the edge of the dim or the stain. There we can put an arrow to identify the dim. This technique is purely in spatial domain of the image.

This code hassome bugs. Those are not very serious to effect the actual concept of the code. The bugs are as follows:

  1. 1. The image background is CYAN in color. Actually if you observe the 6 values after 94th byte using any editer like ULTRAEDIT etc.., you can find 0x0D, 0x0A, 0x0D, 0x0A, 0x0D, 0x0A. If you could remove those three 0x0Ds, you can find the image in a pure 8bit gray scale image. This bug is may be due to the typecasting problems with unsigned char.
  2. It cannot dectect more than one dim in the image.
  3. As the thresholding is not done, this algorithm will also place the arrows in an image with out a dim. I commented the thresholding part of the code which you can see at line no. 255. The thresholding value will be approximatley above 1.000. This part is left to the users.

I am trying to overcome the above mentioned bugs in my second version of the program.

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

Ananth Nag Sastry Ganti


Software Developer

United States United States

Member
I am Ananth Nag Sastry Ganti, working as a software engineer at IBM T.J Watson Research Center, NY. I am working on Image processing and Video suviellence projects. My areas of interests include DSP, Image Processing.

Any advices or suggestions on my articles are always welcome.

Sign Up to vote for this article
Add a reason or comment to your vote:

Comments and Discussions

Hint: For improved responsiveness use Internet Explorer 4, Firefox or above. Ensure Javascript is enabled and choose 'Normal' from the Layout dropdown and hit 'Update'.
You must Sign In to use this message board.
FAQ FAQ 
 
Noise Tolerance  Layout  Per page   
 Msgs 1 to 5 of 5 (Total in Forum: 5) (Refresh)FirstPrevNext
Generalhelp me about color image segmentationmemberhieulinhanh22:14 19 Jul '09  
GeneralImage SegmentationmemberKrishna Tagore21:11 7 Apr '09  
GeneralHelp me in Image processingmemberhieuvv19:02 20 Mar '07  
GeneralImage Processing in VC++ 6.0memberkarthik_ravikanti9:22 4 Aug '06  
Generalmissing picturememberGeorgi Petrov11:08 23 Feb '05  

General General    News News    Question Question    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

PermaLink | Privacy | Terms of Use
Last Updated: 14 Dec 2004

Copyright 2004 by Ananth Nag Sastry Ganti
Everything else Copyright © CodeProject, 1999-2010
Web22 | Advertise on the Code Project