1,451
社区成员
发帖
与我相关
我的任务
分享
void Gauss::get_Gauss_Model(double Q)//计算一组内的5层的高斯模板
{
//double add = 0;//计算模板的和
for (int p = 0; p < 5; p++)
{
Q = Q*pow(2.0, (this->n + p)*0.2);
double sum = 0.0;
for (int i = 0; i < 5; i++)
for (int j = 0; j < 5; j++)
{
this->level_model[p].num_Gauss_model[i][j] =(1 / (2 * pi*Q*Q))*exp(-1 * ((i - 2-2.5)*(i -2- 2.5) + (j - 2-2.5)*(j -2- 2.5)) / (2 * Q*Q));//计算模板
sum = sum + this->level_model[p].num_Gauss_model[i][j];
}
for (int i = 0; i < 5; i++)
{
for (int j = 0; j < 5; j++)
{
this->level_model[p].num_Gauss_model[i][j] =this->level_model[p].num_Gauss_model[i][j] /sum;//归一化
//add = add + this->level_model[p].num_Gauss_model[i][j];
cout << (this->level_model[p].num_Gauss_model[i][j]) << " ";
}
cout << endl;
}
cout <<sum <<' '<< endl << "矩阵和:" << add << endl;
cout << endl << endl << endl;
}
cout << "高斯权重矩阵计算完毕" << endl;
cout << endl << endl << endl;