Q
阅读蟒蛇
2
A
回答
3
按照上图所示读取标题后,您将获得宽度(1024)高度(下一个1024)和深度(255)。要获得的像素数据是最容易的阅读逐字节:
def read_pgm(pgmf):
"""Return a raster of integers from a PGM as a list of lists."""
assert pgmf.readline() == 'P5\n'
(width, height) = [int(i) for i in pgmf.readline().split()]
depth = int(pgmf.readline())
assert depth <= 255
raster = []
for y in range(height):
row = []
for y in range(width):
row.append(ord(pgmf.read(1)))
raster.append(row)
return raster
此代码将仅在8位深度图像这就是为什么assert
语句是目前的工作。
是合法的一个PGM文件有一个行头信息,如:
P5 1024 1024 15
如果你遇到这样的文件,read_pgm
会吵闹失败;处理这种情况的代码留给读者作为练习。
+0
100%的光彩! –
+1
我也学习PIL似乎很好地处理这种类型的图像文件。非常感谢您的时间和精力。 –
相关问题
- 1. 阅读蟒蛇
- 2. 阅读蟒蛇
- 3. 阅读蟒蛇
- 4. 阅读与蟒蛇
- 5. PySwip阅读蟒蛇
- 6. 蟒蛇阅读HID
- 7. 蟒蛇阅读串
- 8. 着阅读蟒蛇
- 9. 阅读从蟒蛇
- 10. 蟒蛇文本阅读
- 11. 阅读的CSV的蟒蛇
- 12. 阅读并重写蟒蛇
- 13. 阅读蟒蛇变量
- 14. 阅读CSV和写在蟒蛇
- 15. 阅读从文件彩车与蟒蛇
- 16. 蟒蛇阅读INI没有键值对
- 17. 阅读TXT,放在矩阵蟒蛇
- 18. 阅读OpenCV的(蟒蛇)的视频
- 19. 加速阅读蟒蛇中的wav
- 20. Pcraster - 蟒蛇 - 地图阅读栈
- 21. 蟒蛇读取CSV
- 22. 读取线蟒蛇
- 23. ROS蟒蛇发布/订阅
- 24. 蟒蛇阅读整个段落而不是读线
- 25. 蟒蛇在蟒蛇
- 26. 只读CSV文件,蟒蛇
- 27. 如何读取蟒蛇线
- 28. 错误读取蟒蛇
- 29. 读取数据 - 蟒蛇
- 30. 错误而读取蟒蛇
您正在阅读'P5' style pgm文件,并将其作为您要链接的文档进行描述。您看到的“乱码”是像素数据,编码为“'\ x00''到maxval之间的字节,显示为255(或''\ xff''')。应该有1024×1024字节的“乱码”代表图像数据。 – msw
好的,那我该如何显示它作为数值数据(可能用空格分隔)而不是十六进制值等? –
它看起来不仅仅是十六进制值,还有一些其他的东西。像这样':;; =><@> ?? A?@A @ ?? @?A?BEBACADAHHFEEHHFIFFEGKJLLJLMJKKJIJJFJFHHIGIIIHIILIKLNRNNSTUY] lw' –