c++ - Gaussian Pyramid Out of Bounds -
i trying write own codes gaussian pyramid using c++.
i tried both reduce , expand equations stated in http://persci.mit.edu/pub_pdfs/pyramid83.pdf, equation (1) , (2). however, array index out of bounds when trying access
[2i + m][2j + n] , [(i - m) / 2][(j - n) / 2], respectively.
my gaussian kernel: 5x5 matrix; g1image: original image reduced 1 level, both row , column half of dimensions of original image's.
my m , n set -2 < m/n <= 2, when access gaussian kernel, add 2 index, becoming
w[m + 2][n + 2] * original_image[2i + m][2j + n] i did try set m , n 0 < m/n <=4 well, equation becomes
w[m][n] * original_image[2i + m][2j + n] or w[m][n] * original_image[2i + m - 2][2j + n - 2] any of mentioned equations out of bounds.
w[m][n] * original_image[2i][2j] reduce equation , w[m][n] * g1image[i / 2][j / 2] expand equation working though.
however, displayed image seems there no smoothing effect.
can explain me how should set image dimension each gaussian pyramid reduction, gaussian pyramid expansion , m , n boundaries?
i have solved problem including line
index1 = (2 * h) + m; index2 = (2 * w) + n; if(index1 >= 0 && index1 < height && index2 >= 0 && index2 < width) temp = w[m + 2][n + 2] * original_image[index1][index2]; more information @ :
http://www.songho.ca/dsp/convolution/convolution.html
Comments
Post a Comment