调整二维矩阵大小的基本算法

Basic algorithm to resize a 2D-matrix

假设我有一张“J”的黑白图像,表示为二进制矩阵,如下所示(白色 = 0,黑色 = 1)。如果我们让矩阵中的每个单元格都是一个像素,它的大小就是 6 x 10.

0 0 0 0 1 0
0 0 0 0 1 0
0 0 0 0 1 0
0 0 0 0 1 0
0 0 0 0 1 0
0 0 0 0 1 0
1 0 0 0 1 0
0 1 1 1 0 0
0 0 0 0 0 0
0 0 0 0 0 0

我想要做的是拍摄这张图片并将其调整为 10 倍,即使其成为当前大小的 10 倍,即 60 x 100。(当然需要进行一些插值,但是它不需要过于复杂。)

我还不太明白这在实践中是如何完成的。有没有可以处理这个的转换矩阵?我 found an article that talk about using a resize matrix(我猜是 2 x 2)。那我需要申请吗?对于矩阵中的每个向量(每个条目)?我该如何处理插值以放大黑色像素?

我想知道是否有人可以提供一个简单示例,说明它是如何使用缩放矩阵工作的,或者可以为我提供一些线索来搜索什么。我的搜索未能成功找到 simple/stripped 下例。

我将使用您示例的较小 (5x4) 版本:

. . T .
. . I .
. . I .
L . I .
. V . .

并将其放大 3 倍,乘以左侧的 15x5 矩阵以垂直缩放,乘以右侧的 4x12 矩阵以水平缩放:

1 0 0 0 0     . . T .     1 1 1 0 0 0 0 0 0 0 0 0     . . . . . . T T T . . .
1 0 0 0 0  X  . . I .  X  0 0 0 1 1 1 0 0 0 0 0 0  =  . . . . . . T T T . . .
1 0 0 0 0     . . I .     0 0 0 0 0 0 1 1 1 0 0 0     . . . . . . T T T . . .
0 1 0 0 0     L . I .     0 0 0 0 0 0 0 0 0 1 1 1     . . . . . . I I I . . .
0 1 0 0 0     . V . .                                 . . . . . . I I I . . .
0 1 0 0 0                                             . . . . . . I I I . . .
0 0 1 0 0                                             . . . . . . I I I . . .
0 0 1 0 0                                             . . . . . . I I I . . .
0 0 1 0 0                                             . . . . . . I I I . . .
0 0 0 1 0                                             L L L . . . I I I . . .
0 0 0 1 0                                             L L L . . . I I I . . .
0 0 0 1 0                                             L L L . . . I I I . . .
0 0 0 0 1                                             . . . V V V . . . . . .
0 0 0 0 1                                             . . . V V V . . . . . .
0 0 0 0 1                                             . . . V V V . . . . . .

我相信模式很清楚。