From 13252133035e3a5972c83d3f123b12033dcc3886 Mon Sep 17 00:00:00 2001 From: Vladislav Vinogradov Date: Thu, 23 Apr 2015 12:44:09 +0300 Subject: [PATCH] use border extrapolation for central pixel in pyrDown in case if image has odd dimension --- modules/gpu/src/cuda/pyr_down.cu | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/gpu/src/cuda/pyr_down.cu b/modules/gpu/src/cuda/pyr_down.cu index e6ef647..eac7928 100644 --- a/modules/gpu/src/cuda/pyr_down.cu +++ b/modules/gpu/src/cuda/pyr_down.cu @@ -114,7 +114,7 @@ namespace cv { namespace gpu { namespace device sum = 0.0625f * src(b.idx_row_low (src_y - 2), b.idx_col_high(x)); sum = sum + 0.25f * src(b.idx_row_low (src_y - 1), b.idx_col_high(x)); - sum = sum + 0.375f * src(src_y , b.idx_col_high(x)); + sum = sum + 0.375f * src(b.idx_row_high(src_y ), b.idx_col_high(x)); sum = sum + 0.25f * src(b.idx_row_high(src_y + 1), b.idx_col_high(x)); sum = sum + 0.0625f * src(b.idx_row_high(src_y + 2), b.idx_col_high(x)); @@ -129,7 +129,7 @@ namespace cv { namespace gpu { namespace device sum = 0.0625f * src(b.idx_row_low (src_y - 2), b.idx_col(left_x)); sum = sum + 0.25f * src(b.idx_row_low (src_y - 1), b.idx_col(left_x)); - sum = sum + 0.375f * src(src_y , b.idx_col(left_x)); + sum = sum + 0.375f * src(b.idx_row_high(src_y ), b.idx_col(left_x)); sum = sum + 0.25f * src(b.idx_row_high(src_y + 1), b.idx_col(left_x)); sum = sum + 0.0625f * src(b.idx_row_high(src_y + 2), b.idx_col(left_x)); @@ -144,7 +144,7 @@ namespace cv { namespace gpu { namespace device sum = 0.0625f * src(b.idx_row_low (src_y - 2), b.idx_col_high(right_x)); sum = sum + 0.25f * src(b.idx_row_low (src_y - 1), b.idx_col_high(right_x)); - sum = sum + 0.375f * src(src_y , b.idx_col_high(right_x)); + sum = sum + 0.375f * src(b.idx_row_high(src_y ), b.idx_col_high(right_x)); sum = sum + 0.25f * src(b.idx_row_high(src_y + 1), b.idx_col_high(right_x)); sum = sum + 0.0625f * src(b.idx_row_high(src_y + 2), b.idx_col_high(right_x)); -- 2.7.4