2D görüntüyü 1D dizisi olarak temsil eden yerel bir sınıfla çalışıyorum. Örneğin, bir pikseli değiştirmek istiyorsanız, dizini x,y
koordinatlardan nasıl türeteceğinizi öğrenmeniz gerekir .
Diyelim ki şöyle bir 1D dizimiz var 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 ]
Programımız kapsamında array1d
2B bir ızgarayı temsil eder:
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
Ve biz aşağıdaki array1d
gibi işlemleri yapmak istiyoruz :
x,y
Koordinatlardaki değeri al (bu örnekte,1,2
vereceğil
)- Kullanarak herhangi bir alt ızgarayı alın
x,y,width,height
(1,2,2,2
verecek[l, m, q, r]
) - Değeri herhangi bir
x,y
koordinatta (vb.) Ayarlayın .
Bunları nasıl yaparız?
Matlab'da ve dolayısıyla muhtemel matematik türleri (CS'ye dökülen), bir matrisi diğerine dönüştürmek ( 1x12'yi 2x6'ya veya 2x6'yı 3x4'e
@MichaelT: OP ızgarayı yeniden şekillendirmiyor. 5x5'i başka hiçbir şeye yeniden şekillendirmekten bahsetmeyin (bu zaten mantıklı olmaz). :)
—
IAbstract
@IAbstract bu soru yine de 1 revizyondaydı .