| 15 | using namespace af; |
| 16 | |
| 17 | void prewitt(array &mag, array &dir, const array &in) { |
| 18 | static float h1[] = {1, 1, 1}; |
| 19 | static float h2[] = {-1, 0, 1}; |
| 20 | static array colf(3, 1, h1); |
| 21 | static array rowf(3, 1, h2); |
| 22 | |
| 23 | // Find the gradients |
| 24 | array Gy = convolve(rowf, colf, in); |
| 25 | array Gx = convolve(colf, rowf, in); |
| 26 | |
| 27 | // Find magnitude and direction |
| 28 | mag = hypot(Gx, Gy); |
| 29 | dir = atan2(Gy, Gx); |
| 30 | } |
| 31 | |
| 32 | void sobelFilter(array &mag, array &dir, const array &in) { |
| 33 | array Gx, Gy; |