我正在使用将2D图像表示为1D数组的本机类。例如,如果要更改一个像素,则现在需要如何从x,y
坐标中导出索引。
因此,假设我们有一个array1d
像这样的一维数组:
array1d = [ a, b, c, d, e, f, g, h, i, j, k, l, m, n, o, p, q, r, s, t, u, v, w, x, y ]
在我们的程序上下文中,array1d
代表2D网格:
a b c d e
f g h i j
k l m n o
p q r s t
u v w x y
我们想要对以下内容执行操作array1d
:
- 获取
x,y
坐标值(在本例中1,2
为l
) - 使用
x,y,width,height
(1,2,2,2
将给出[l, m, q, r]
)获取任何子网格 - 将值设置为任意
x,y
坐标(等)
我们该怎么做?
在Matlab中,因此可能的数学类型(溢出到CS中)将一个矩阵转换为另一个矩阵(将1x12转换为2x6或将2x6转换为3x4)被称为“重塑” mathworks.com/help/matlab/ ref / reshape.html
@MichaelT:OP不会重塑网格。没有提及将5x5重塑为其他任何东西(无论如何这是没有意义的)。:)
—
IAbstract
@IAbstract这个问题虽然在修订版1中。