views:

1216

answers:

4

Hi,

I am involved in a personal project which will require pretty extensive knowledge of edge detection and image segmentation/object recognition.

I know the importance of planning/understanding before writing code and with this in mind, what is the best place to start, to learn about these areas of computing? I am ideally looking for online articles/papers.

Thanks

+13  A: 

I found the series by Christian Graus on Code Project to be useful:

Image Processing for Dummies with C# and GDI+ Part 1 - Per Pixel Filters
Image Processing for Dummies with C# and GDI+ Part 2 - Convolution Filters
Image Processing for Dummies with C# and GDI+ Part 3 - Edge Detection Filters
Image Processing for Dummies with C# and GDI+ Part 4 - Bilinear Filters and Resizing
Image Processing for Dummies with C# and GDI+ Part 5 - Displacement filters, including swirl
Image Processing for Dummies with C# and GDI+ Part 6 - The HSL color space

Jay Riggs
+110% Great articles. If this answer doesn't get the check, I'm quitting SO forever.
MusiGenesis
Very good links. Although I did see these links on the site, I didn't read all parts. Thanks and +1
dotnetdev
and when you want to start doing work, switch to OpenCV or one of its ports, for .NET I was happy with http://opencv.willowgarage.com/wiki/
kenny
+1  A: 

I did some very basic edge detection for a uni project a while back. The algorithms that I prototyped were Laplace and Sobel.

This is the page that got me most of the info I needed to implement the algorithm:

http://www.pages.drexel.edu/~weg22/edge.html

I have some C++ source code that might be a bit scary from back in the day if you are interested.

Igor Zevaka
+4  A: 

I would suggest looking for good computer vision course slides, such as these Stanford one:

In general I find interesting materials by googling university sites for powerpoint presentations on any given subject: computer vision site:edu filetype:ppt

Ivan
I think what Ivan suggested is far more useful than the CodeProject ones. C# and GDI are just overhead, you shouldn't care what platform you implement on.
ldog
+3  A: 

You will probably want to make extensive use of OpenCv: http://opencv.willowgarage.com/wiki/Welcome

Many of the algorithms that you need are already implemented in OpenCv. So your first priority should be to LEARN as much about computer vision as possible, probably from books on the topic not online resources. You will find that online resources are great places to check up on cutting edge research or extremely basic techniques, the inbetween introductory material that is very much needed is usually missing.

ldog