到目前爲止,我做我想做的事是如下NumPy的和2-d陣列的不同
ar2 = [[0 for t in range(maxy-miny)] for t in range(maxx-minx)]
for first,x in enumerate(range(minx, maxx)):
for second,y in enumerate(range(miny, maxy)):
ar2[first][second] = a[x][y]
io.imshow(ar2)
的問題是,它真的很慢。所以我正在考慮numpy。
ar = np.zeros((maxx-minx, maxy-miny), dtype=np.ndarray)
for first,x in enumerate(range(minx, maxx)):
for second,y in enumerate(range(miny, maxy)):
ar[first][second] = a[x][y]
io.imshow(ar)
雖然在第二種情況下,圖像將不會顯示
TypeError: Image data can not convert to float
我試圖檢查可能什麼,所以我測試AR [0] & AR2 [0]
輸出2-d陣列:
[array([230, 197, 204], dtype=uint8) array([241, 209, 214], dtype=uint8)
array([233, 201, 206], dtype=uint8) array([214, 183, 188], dtype=uint8)...
輸出numpy的陣列:
[array([230, 197, 204], dtype=uint8), array([241, 209, 214], dtype=uint8),
array([233, 201, 206], dtype=uint8), ...
因此很明顯,numpy的使用逗號,但我不明白如何以及爲什麼會發生。
什麼是'了'...? –
@AndyHayden它是原始圖像的二維數組。我發現哪些部分對我感興趣,我想將它們單獨轉移到新的部分。 – Rentonie
由於@ sebix表示它不是一個合適的2D numpy數組(dtype不正確)。空間與逗號之間的東西是一條紅色的鯡魚,純粹是如何打印對象。 –