M Sobel: Difference between revisions
No edit summary |
No edit summary |
||
Line 15: | Line 15: | ||
inset initial image here | inset initial image here | ||
[[Image:Initial. | [[Image:Initial.png]] | ||
gimp output | gimp output |
Revision as of 19:38, 29 February 2012
Initial Software
Currently I have the software hosted at the following link on github: https://github.com/mjpatter88/SobelEdgeDetection
The code can be found here: https://github.com/mjpatter88/SobelEdgeDetection/blob/master/sobel.c
The makefile can be found here: https://github.com/mjpatter88/SobelEdgeDetection/blob/master/Makefile
This software supports both ppm (color) and pgm (black and white) images. In the case when the input image is a color image, each pixel is converted to gray scale before the Sobel operator is applied.
This algorithm also dynamically scales the output, so the highest value after the Sobel Operator has been applied becomes 255 (maxval), and the rest are scaled appropriately. From what I've observed, this tends to make the output images a little darker than other implementations, but they also are smoother. My implementation seems fairly similar to GIMP's use of the Sobel operator, as can be seen in the following screenshots.
gimp output
my program output.
results (test on my laptop and convey)
Software Optimization
link to code, makefile, results (test on my laptop and convey)
Software Simulation
link to code (c code, assembly, software sim c++), results.
Hardware
link to code, results, timing analysis