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' –