矩阵的转置变换、翻转行/列、旋转
这篇文章记录了在java中如何实现一些矩阵的基本操作的方法,如行/列变换以及翻转等等。矩阵的变换在一定程度上可以理解为对于每个元素的规律性变换,这些操作在对**图片**处理时有着至关重要的作用。
行/列操作:
这一类操作牵扯到将矩阵的行或者列逆序,一般方法在遍历矩阵元素时固定其中一个维度,另一维交换到关于中心对称位置。实现matrix[i][j]<-->matrix[len-1-i][j]的交换。代码如下:
public void reverse(int[][] matrix) {
int len = matrix.length;
//方阵,交换行
for (int i = 0; i < len / 2; i++) {
for (int j = 0; j < len; j++) {
int temp = matrix[i][j];
matrix[i][j] = matrix[len-1-i][j];
matrix[len-1-i][j] = temp;
}
}
}
转置变换(Transpose):
矩阵的转置变化是比较常见的一种变换,在信号处理和图像中有着非常