2014-08-27 16 views
5

Tôi có đối tượng 2d numpy.arraydtype=uint16 đại diện cho hình ảnh thang độ xám. Làm thế nào để lưu nó vào một tập tin PNG và sau đó đọc nó trở lại, có được cùng một mảng?numpy.array vào tệp PNG và quay lại

+0

này những gì được mô tả trong [các ví dụ pyPng Mã] Là (https://pythonhosted.org/pypng/ex.html)? – usr2564301

+0

Tôi nghĩ rằng PNG> np được đưa ra, nhưng cách khác xung quanh chỉ cho thấy một mảng 3d và tôi không thể tìm ra cách để làm cho nó hoạt động với một mảng 2d. Cũng như tôi bắt đầu với một numpy.array, tôi cần ví dụ đầu tiên để thử nó. trong ngắn hạn, nó không phải là tầm thường từ các ví dụ ... – Jonathan

Trả lời

3

scikit hình ảnh làm cho điều này khá dễ dàng:

from skimage.io import imread, imsave 
import numpy as np 

x = np.ones((100, 100), dtype=np.uint16) 
imsave('test.png', x) 
y = imread('test.png') 
(x == y).all() # True 
+1

Nhưng điều này có một nhược điểm của việc truy cập đĩa và quay trở lại. Nó có thể được thực hiện trong bộ nhớ? – Payaam

Các vấn đề liên quan