给定一个36*26的矩阵,如下图。那么,怎么用计算机构造这个矩阵的块矩阵呢?比如,如果需要指定第2行到第10行、第3列到第12列之间的矩阵,怎么办到呢?下面,开始试验。
工具/原料
1
电脑
2
Mathematica
方法/步骤
1
先把矩阵输入到Mathematica里面——juzhen。其实,矩阵就是二维列表。
2
拿出矩阵的前20行的数据,得到一个20*26的矩阵:juzhen[[1 ;; 20]]
3
如果要拿出矩阵的前16列数据,就得到一个36*16的矩阵:juzhen[[All, 1 ;; 16]]
4
那么,如果想要获取矩阵左上角那个6*6的方形矩阵,可以这样写代码:juzhen[[1 ;; 6, 1 ;; 6]]
5
如果需要指定第2行到第10行、第3列到第12列之间的矩阵,则可以写为:juzhen[[2 ;; 10, 3 ;; 12]]
图片分离通道
1
给出一个图片的图片数据——data。
2
看看这幅图片是几通道的:data[[1, 1]] // Length结果是4通道的。
3
单独把第二个通道的数据提取出来:data2 = data[[All, All, 2]];并还原为图像:data2 // Image注意,单通道的图片,都是灰度图。
4
把四个通道的数据都分离出来,就得到四幅图:Image[#] & /@ (data[[All, All, #]] & /@ {1, 2, 3, 4})
注意事项
注意,块矩阵,不仅可以用于分离图像通道,还可以把单通道的图像数据分为若干块矩阵,进而结合矩阵乘法,进行特殊的变换。
上一篇:智能驱鼠器使用指南
下一篇:word2007 怎么做矩阵