53 int iw =
static_cast<int>(input_->width),
ih =
static_cast<int>(input_->height),
54 kw =
static_cast<int>(kernel_.width),
kh =
static_cast<int>(kernel_.height);
55 switch (boundary_options_) {
57 case BOUNDARY_OPTION_CLAMP: {
58 for (
int i = 0; i <
ih; i++) {
59 for (
int j = 0; j <
iw; j++) {
61 for (
int k = 0; k <
kh; k++) {
62 for (
int l = 0; l <
kw; l++) {
82 output(j, i).intensity = intensity;
88 case BOUNDARY_OPTION_MIRROR: {
89 for (
int i = 0; i <
ih; i++) {
90 for (
int j = 0; j <
iw; j++) {
92 for (
int k = 0; k <
kh; k++) {
93 for (
int l = 0; l <
kw; l++) {
113 output(j, i).intensity = intensity;
119 case BOUNDARY_OPTION_ZERO_PADDING: {
120 for (
int i = 0; i <
ih; i++) {
121 for (
int j = 0; j <
iw; j++) {
123 for (
int k = 0; k <
kh; k++) {
124 for (
int l = 0; l <
kw; l++) {
128 intensity += kernel_(l, k).intensity * ((*input_)(
jlkw,
ikkh).intensity);
131 output(j, i).intensity = intensity;