我一直在研究有關遙感圖像處理和圖像序列循環的項目。每個生成的圖像(JPEG或PNG格式)都有大約8000 * 4000像素。我們的用戶通常希望一次根據感興趣的區域循環圖像序列(超過50張圖像)。因此,我必須根據用戶的可視化客戶端大小從每個圖像中提取所需的查看區域。例如,如果用戶的當前客戶端視圖是640 * 480,則必須根據當前的x(列)和y(行)座標從每個原始圖像中找到640 * 480數據塊的大小,然後重新映射到客戶端視圖。當用戶通過鼠標拖動到另一個查看區域時,我們的程序必須相應地儘快將區域數據從每個原始圖像中重新加載。大型JPEG/PNG圖像序列循環
我既不知道JPEG庫也不知道PNG庫有一些內置的數據塊讀取例程,如 long ReadRectangle(long x0,long y0,long x1,long y1,char * RectData); long ReadInaRectangle(long x0,long y0,short width,short height,char * RectData);
內置的JPEG解壓縮器沒有這種功能。我知道JPEG2000格式有用於解壓縮圖像的特定區域的規定。我對JEPG並不完全確定。
有人建議我使用CreateFileMapping,MapViewOfFile和CreateDIBSection來提交映射到視圖的文件映射的字節數。與簡單的平面二進制圖像格式(如* .raw,*。img和* .bmp)不同,JPEG的Blob不僅包含圖像數據,還包含複雜的JPG標頭。所以將一個數據塊視圖映射出JPEG文件並不容易。
有人建議我使用圖像拼貼或圖像金字塔技術來生成子圖像,就像流行的mnay,圖像可視化(Google Earth等)和GIS應用程序(WebGIS等)一樣。
我該如何解決這個問題?
感謝您的幫助。
Golden Lee
儘管此鏈接可能會回答問題,但最好在此處包含答案的基本部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 – Stewbob 2012-08-16 14:53:30
@Stewbob:答案不在鏈接後面。答案是「使用gd庫很容易」,它包含一個指向gb庫的鏈接。恕我直言,這是好的。 – 2012-08-17 10:50:06