Max*_*Max 2 language-agnostic algorithm math matrix linear-algebra
假设我有一个“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
Run Code Online (Sandbox Code Playgroud)
我想要做的是将这张图像调整为 10 倍,即使其变为当前大小的 10 倍,达到 60 x 100。(当然,需要进行一些插值,但不需要过于复杂。)
我还不太明白这在实践中是如何完成的。是否有一个变换矩阵可以处理这个问题?我发现一篇文章讨论使用调整大小矩阵(在我的例子中我猜是 2 x 2)。那我需要申请吗?对于矩阵中的每个向量(每个条目)?然后我该如何处理插值以放大黑色像素?
我想知道是否有人可以提供一个简单的例子,如何使用缩放矩阵来工作,或者为我提供一些搜索内容的线索。我的搜索尚未成功找到一个简单/精简的示例。
我将使用您的示例的较小 (5x4) 版本:
. . T .
. . I .
. . I .
L . I .
. V . .
Run Code Online (Sandbox Code Playgroud)
将其放大 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 . . . . . .
Run Code Online (Sandbox Code Playgroud)
我相信模式很清楚。