【发布时间】:2018-09-22 10:18:22
【问题描述】:
我一直在尝试在 C++ 上使用 PGM 文件,得到它们的底片等。 现在,一旦我开始旋转,我就有了一个关于如何旋转矩阵的粗略伪代码,这是数值矩阵的结果:
在纸面上,这似乎是正确的。现在,当我应用相同的算法来旋转图像时,它只适用于方形图像(即相同的高度和宽度):
但在矩形图像上,它会产生这种结果:
代码如下:
void loadRotMatrix()
{
//transpose of matrix
for(int i=0;i<cols;i++)
{
for(int j=0;j<rows;j++)
{
rotatedmatrix[i][j] = matrix[j][i];
}
}
//flipped transposed
for(int i=0;i<rows;i++)
{
int temp =0;
for(int j=0,k=cols-1;j<k;j++,k--)
{
temp=rotatedmatrix[j][i];
rotatedmatrix[j][i]=rotatedmatrix[k][i];
rotatedmatrix[k][i]=temp;
}
}
}
现在我无法终生解读这里发生了什么,以及是什么将我的狗变成了地狱犬:p
【问题讨论】:
标签: c++ multidimensional-array pgm