【发布时间】:2021-12-29 03:00:49
【问题描述】:
【问题讨论】:
-
问题是什么?
标签: image-processing matrix matrix-multiplication matplotlib-basemap
【问题讨论】:
标签: image-processing matrix matrix-multiplication matplotlib-basemap
只需减去 256 并除以 512。连接是您会看到 256 的值被映射到 0。因此,0 被映射到 -256,256 被映射到 0,512 被映射到 256。但是,您进一步需要值在[-0.5, 0.5] 的范围内。将所有内容除以 512 即可完成此操作。
所以关系是:
out = (in - 256) / 512 = (in / 512) - 0.5
尝试上面示例输入中的一些值,以说服自己这是正确的关系。
如果您想将其形成为矩阵乘法,则可以将其解释为具有缩放和平移但没有旋转的仿射变换:
[ 1/512 0 -0.5 ]
K = [ 0 1/512 -0.5 ]
[ 0 0 1 ]
请注意,您需要使用齐次坐标才能获得所需的结果。
例如:
(x, y) = (384, 256)
[X] [ 1/512 0 -0.5 ][384]
[Y] = [ 0 1/512 -0.5 ][256]
[1] [ 0 0 1 ][ 1 ]
[X] [384/512 - 0.5] [ 0.25 ]
[Y] = [256/512 - 0.5] = [ 0 ]
[1] [ 1 ] [ 1 ]
只需去掉最后一个坐标即可得到(0.25, 0)的最终答案。
【讨论】: