blob: 058b17c6a13791cbd61f363fa651ec9afe8abf06 [file] [log] [blame]
/**
Source:
https://github.com/mompes/CUDA-dilation-and-erosion-filters/blob/master/erosionCPU.cpp
Modified by Pankaj Kukreja (github.com/proton0001)
Indian Institute of Technology Hyderabad
*/
#include "dilate.h"
#define MAX(a, b) (a > b) ? a : b;
void dilateKernel(int height, int width, int inputImage[HEIGHT][WIDTH],
int outputImage[height][width], int temp[height][width]) {
for (int i = 0; i < height; i++) {
for (int j = 0; j < width; j++) {
int value = 0;
for (int k = -1; k <= 1; k++) {
if ((j + k) > 0 && (j + k) < width) {
value = MAX(inputImage[i][j + k], value);
}
}
temp[i][j] = value;
}
}
for (int i = 0; i < height; i++) {
for (int j = 0; j < width; j++) {
int value = 0;
for (int k = -1; k <= 1; k++) {
if ((i + k) > 0 && (i + k) < height) {
value = MAX(temp[i + k][j], value);
}
}
outputImage[i][j] = value;
}
}
}