請原諒我的任何天真,但我對圖像的使用很陌生。假設我有一個二進制值列表[1,0,0,0,1,0,1,0,0,0,0,1,1,0 ....],它們表示黑白圖像中的像素。我將如何去從這個列表中創建一個.png文件?在Python中使用PNG的二進制列表
回答
爲此目的使用Python Imaging Library。
有一種img = Image.frombuffer(mode, size, data)
方法,它從「原始」數據(字符串)創建圖像。您可以然後通過img.save('image.png', transparency=transparency)
是的,但他希望將0映射到純黑色(0,0,0)和1到純白色(255,255,255) – 2011-04-15 14:04:01
擴展在BasicWolf的例子保存爲PNG文件:
from PIL import Image
import struct
size = 5, 5
arr = [1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 1, 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 1, 1, 0]
data = struct.pack('B'*len(arr), *[pixel*255 for pixel in arr])
img = Image.frombuffer('L', size, data)
img.save('image.png')
我覺得這是你追求的...
是的,它的功能非常好,謝謝你的幫助。 – Nacre 2011-04-15 17:40:26
感謝您的擴展! – 2012-10-22 15:02:03
- 1. 二進制列表(Python)的
- 2. 2D二進制列表python
- 3. 在Python中使用二進制補碼
- 4. Python - 列表的排序列表中的二進制搜索
- 5. 從原始的二進制圖像數據到Python中的PNG
- 6. Python - 散列二進制值
- 7. 在Python中將2d二進制列表轉換爲十進制數的算法
- 8. 在python中使用列表的列表中的二維數組
- 9. 在列表中執行二進制搜索 - Python
- 10. Python的RotationCount使用二進制搜索
- 11. 使用Python的二進制搜索
- 12. 二進制堆到列表
- 13. 轉換列表中的二進制文件(python)
- 14. Python,製作二維列表
- 15. bigint轉換爲二進制(8)列的二進制表示
- 16. 打印列表的二進制排列
- 17. 列表的二進制(反)序列化
- 18. 在列表中的二進制搜索和引用列表的特定列
- 19. 打印二進制在Python
- 20. 從python中的二進制序列創建一個二叉樹
- 21. 使用python解析二進制格式
- 22. 使用python執行二進制搜索
- 23. 如何使用二進制元素將數據解析到Python列表中?
- 24. Python將二進制圖像(PNG)數據寫入文件
- 25. 用二進制搜索填充列表
- 26. 在bazel的python測試中使用二進制文件
- 27. Python讀取二進制多項式到列表中
- 28. 從python列表中訪問二進制數據時出錯
- 29. 如何從png獲取二進制代碼使用javascript
- 30. 使用Python的基-2(二進制)表示法
這只是一個1-d列表? – 2011-04-15 05:40:21
是的,它只是一個一維的列表,但我想製作一張5x5的圖像,並且想要將0映射到純黑色,將1映射到純白色。我無法弄清楚如何使用BasicWolf的建議,它創建一個圖像,但圖像是全黑的。 – Nacre 2011-04-15 16:26:43
其實它大多是黑色的。如果你採納他的建議,你會寫0和1,在255中看起來很黑。 – 2011-04-15 16:37:33