矩阵在图像学中运用非常广,同时,矩阵在计算机中的存储其实都可以转为一维数组进行存储,对于某些特殊矩阵可以采用特别的压缩存储方式。
(1)对称矩阵。
即aij=aji,对称位置的元素相等的矩阵。
对称矩阵可以从对角线划分成上三角区和下三角区,所以在存储时,可以仅存储上三角或者下三角部分,节省一半的存储空间。
(2)三角矩阵
三角矩阵往往只有上三角或者下三角的数据有意义,其余位置的元素为0或者为同一常量,这样在存储时,仅存储上三角或者下三角部分即可。
(3)条带状矩阵(三对角矩阵)
非零元素集中在主对角线为中心的区域。这种矩阵的存储和数组定位比较麻烦。
在以上罗列的几种特殊矩阵的存储,都可以存储在一维数组中。主要通过:行优先存储 和 列优先存储
行优先,就是指逐行存放,例如一个二维数组有3行3列,则先存放a11 ,a12 ,a13 ; 再存放第二行的a21 ,a22 ,a23…
列优先则优先逐列存放,例如一个二维数组有3行3列,则先存放a11 ,a21 ,a31 ; 再存放第二列的a12 ,a22 ,a32…
记住一个特点,不管什么矩阵,对角线元素的ij都是相等的!例如a11,a22,a33,a44等,都是对角线的元素
关于行优先和列优先的问题考察主要是定位二维数组中的某一个元素在一维数组中的存放下标,或者内存中的存放位置,书本上超级多公式,挺难背的,不过可以理解每个矩阵的存储特