首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >高斯金字塔出界

高斯金字塔出界
EN

Stack Overflow用户
提问于 2016-01-21 05:48:38
回答 1查看 533关注 0票数 0

我试图用c++为高斯金字塔编写我自己的代码。

我试着用pdfs/pyramid83.pdf中的公式(1)和(2)对方程进行简化和展开。但是,当我试图访问时,我的数组索引是超出范围的。

分别为[2i + m][2j + n][(i - m) / 2][(j - n) / 2]

我的高斯核: 5x5矩阵;g1Image:原始图像减少了1级,行和列都是原始图像维数的一半。

我的mn设置为-2 < m/n <= 2,因此当我访问高斯内核时,我将2添加到索引中,

代码语言:javascript
复制
w[m + 2][n + 2] * original_image[2i + m][2j + n]

我也尝试将我的mn设置为0 < m/n <=4,方程变成

代码语言:javascript
复制
w[m][n] * original_image[2i + m][2j + n] or w[m][n] * original_image[2i + m - 2][2j + n - 2]

上述任何一个方程都超出了界限。

w[m][n] * original_image[2i][2j]用于约简方程,w[m][n] * g1Image[i / 2][j / 2]用于展开方程。

然而,显示的图像似乎没有平滑效果。

有人能解释我应该如何为每一个高斯金字塔缩减、高斯金字塔展开以及m和n边界设置我的图像维数吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-21 07:22:25

我把这一行包括在内解决了这个问题。

代码语言:javascript
复制
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];

更多信息见:

http://www.songho.ca/dsp/convolution/convolution.html

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34916257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档