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. PySwip閱讀蟒蛇
- 5. 蟒蛇閱讀串
- 6. 閱讀從蟒蛇
- 7. 閱讀的CSV的蟒蛇
- 8. 閱讀蟒蛇變量
- 9. Pcraster - 蟒蛇 - 地圖閱讀棧
- 10. 閱讀從文件彩車與蟒蛇
- 11. 閱讀OpenCV的(蟒蛇)的視頻
- 12. 讀取線蟒蛇
- 13. ROS蟒蛇發佈/訂閱
- 14. 蟒蛇閱讀整個段落而不是讀線
- 15. 錯誤而讀取蟒蛇
- 16. 蟒蛇閱讀的網站源代碼行同時
- 17. 閱讀和蟒蛇解析文件內容
- 18. 文件寫入和文件以UTF-16閱讀蟒蛇
- 19. 錯誤閱讀和寫作的CSV文件到蟒蛇
- 20. ValueError異常:值過多解壓蟒蛇在閱讀列表
- 21. 閱讀FORTRAN雙精度格式轉換成蟒蛇
- 22. 將商品閱讀爲與雅虎金融的蟒蛇
- 23. 閱讀從文本文件座標蟒蛇
- 24. 閱讀與數字txt文件,並suming他們蟒蛇
- 25. 閱讀與聲明字符串蟒蛇之間的區別
- 26. 可以閱讀蟒蛇像PHP Yaconf .ini文件
- 27. 閱讀和線記住文件行蟒蛇
- 28. 無法在蟒蛇蟒蛇
- 29. 蟒蛇
- 30. 蟒蛇
您正在閱讀'P5' style pgm文件,並將其作爲您要鏈接的文檔進行描述。您看到的「亂碼」是像素數據,編碼爲「'\ x00''到maxval之間的字節,顯示爲255(或''\ xff''')。應該有1024×1024字節的「亂碼」代表圖像數據。 – msw
好的,那我該如何顯示它作爲數值數據(可能用空格分隔)而不是十六進制值等? –
它看起來不僅僅是十六進制值,還有一些其他的東西。像這樣':;; =><@> ?? A?@A @ ?? @?A?BEBACADAHHFEEHHFIFFEGKJLLJLMJKKJIJJFJFHHIGIIIHIILIKLNRNNSTUY] lw' –