Click to See Complete Forum and Search --> : Edge detection
ybenaabud
March 21st, 2005, 02:20 PM
hello,
I am looking for a best way to do an edge detection algorithm, I am working for medical purpose so the results must be the most exact as posible...
can every body help me. I do not know how to start this research ??:)
think you :blush:
bobbob
March 21st, 2005, 03:53 PM
The easiest to implement is a simply the first derivative of the image.
As these are medical images i suspect that you are dealing with 12 bit grey scale values.
e = abs((image[z][y][x] + image[z][y][x+dx]) / 2)
if you want you can modify dx to suit your needs and you can also add dy and dz if you wish. This is sometimes reffered to as the gradient magnitude...
after processing all pixels in the image... get the minimum and maximum values found and stretch the results to 12bits again. (Or window and level if you have a viewer to do so.)
Other methods such as sobel and laplacian edge detection are well documented...
http://people.westminstercollege.edu/students/djb0331/CMPT300/Project/ProjectDiscussion.htm
I also find that looking at the edges in log space gives more impressive results.
yiannakop
March 23rd, 2005, 07:46 AM
You need to apply filters which emphasise regions that have rapid intensity changes. Here are some examples:
laplacian
sobel
roberts
Prewitt
Frei-Chen
Canny
Most of the above filters use a kernel (e.g. 3x3). For example:
Sobel:
vertically:
-1 -2 -1
0 0 0
1 2 1
horizontally:
-1 0 1
-2 0 2
-1 0 1
Try a search in the net for any of the above filters.
z2005
April 13th, 2005, 01:02 AM
hello guys i have no idea how to do c++ programming and i happen to come across something which requires me to develop and apply to images, the Sobel edge operator and the Laplacian edge operator, ive been reading up on these but still no idea how to write a program or anything like that =(
is there anyone that happen to have some code they could show me or direct me to a link were i can get some idea?
Thanks in advance
berrywong
April 15th, 2005, 03:14 AM
I also need do medical image processing for edge detection.
Just start.
diehardii
April 27th, 2005, 03:41 PM
The Intel IPP libraries provide several edge detection routines. You can use them for free if you're on Linux, or for ~$300 for windows. These are very fast. It is about the only way to implement the Canny operator in real time without spending a great deal of time on optimization. If you would like, I can give you code for a Sobel edge detector.
~Steve
codeguru.com
Copyright Internet.com Inc., All Rights Reserved.