#include <stdio.h>
#include <cstdlib>
static float h1[] = {1, 1, 1};
static float h2[] = {-1, 0, 1};
static array colf(3, 1, h1);
static array rowf(3, 1, h2);
}
}
float mx = max<float>(in);
float mn = min<float>(in);
return (in - mn) / (mx - mn);
}
int w = 5;
if (in.
dims(0) < 512) w = 3;
if (in.
dims(0) > 2048) w = 7;
int h = 5;
if (in.
dims(0) < 512) h = 3;
if (in.
dims(0) > 2048) h = 7;
switch (method) {
case 1: prewitt(mag, dir, smooth); break;
case 2: sobelFilter(mag, dir, smooth); break;
case 3:
break;
}
return normalize(mag);
}
void edge() {
array in =
loadImage(ASSETS_DIR
"/examples/images/trees_ctm.jpg",
false);
array prewitt = edge(in, 1);
array sobelFilter = edge(in, 2);
myWindow(0, 0).
image(in / 255,
"Input Image");
myWindow(0, 1).
image(prewitt,
"Prewitt");
myWindow(1, 0).
image(sobelFilter,
"Sobel");
myWindow(1, 1).
image(cny,
"Canny");
myWindow2.
hist(hst, 0, 255);
}
}
int main(int argc, char *argv[]) {
int device = argc > 1 ? atoi(argv[1]) : 0;
try {
printf("** ArrayFire Edge Detection Demo **\n");
edge();
fprintf(stderr,
"%s\n", e.
what());
throw;
}
return 0;
}