日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

兼容超大图片的处理_计算机读取超大图像的一些问题简述

發(fā)布時間:2025/1/21 34 豆豆
生活随笔 收集整理的這篇文章主要介紹了 兼容超大图片的处理_计算机读取超大图像的一些问题简述 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

近期在處理遙感數(shù)據(jù)的時候,發(fā)現(xiàn)了一些問題跟大家分享一下解決方案。

有一張不知道從哪里搞來的中國的夜間燈光數(shù)據(jù),分辨率為28800*18000,在Python語言下,Opencv讀取和PIL讀取都會出現(xiàn)問題。

Opencv直接就是變量為Nonetype,連錯都沒報!

PIL是像素個數(shù)超過了限定值,報了錯,PIL拒絕加載。

So,我找到了一些解決方案:

1、編寫matlab程序,調用blockproc函數(shù),進行切割,該方法適用于超大影像,如幾個G,甚至幾十GB的。

2、對于PIL、Opencv警告的處理也要具體問題具體分析:解壓后的數(shù)據(jù)小于當前物理內存的圖片,可以通過設置Image.MAX_IMAGE_PIXELS來適當提高觸發(fā)警告的閾值,繼而強制加載。解壓后的數(shù)據(jù)大小可以用圖片尺寸與色彩位深來估計。

如PIL:

>>> from PIL import Image >>> Image.MAX_IMAGE_PIXELS = 1000000000 #Or None >>> im = Image.open(r'some.tif')

但是,對于解壓后的數(shù)據(jù)顯然大于當前物理內存的圖片,應當靈活應用圖片壓縮方法具備的特性,例如JPEG的遞進性(即Progressive)、JPEG 2000的區(qū)域解碼(即Random Access)等等。然而這些特性,PIL幾乎不能使用,因此應當考慮其他專業(yè)軟件或者根據(jù)需求自行實現(xiàn)。

3、更換其他語言進行嘗試,如C++,匯編語言。

4、萬事都不如增加配置來的方便,燒錢吧!如果是20gb以上的圖片,最好有128gb以上的內存,和480gb以上固態(tài)硬盤,主要是讀寫速度不夠,所以硬盤一定要好。

也許對于具有極大物理內存的用戶來說,通過調整閾值,圖像尺寸似乎就沒有了上限。但事實上考慮到Python令人遺憾的多核性能(至少對于cPython),以及一個平凡的觀察——你通常需要處理很多小圖片,或者些許大圖片——加載一個特別大的圖片將不會在合理的時間內完成,即使通過并行處理也節(jié)約不了太多時間(并沒有那么多圖片需要處理)。

參考文獻:

Matlab切割超大影像?blog.csdn.netPython圖形庫處理大型圖片的有關問題 - 胡先生與他愉快的朋友們?huzheyang.cn

總結

以上是生活随笔為你收集整理的兼容超大图片的处理_计算机读取超大图像的一些问题简述的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內容還不錯,歡迎將生活随笔推薦給好友。