[英]Reading EXIF data from JPG
我需要分析數千個jpeg文件(通過檢索它的EXIF數據)。 它超過50 GB的數據。我無法讀取整個文件,因為它需要花費太多時間。
C#中是否有任何方法只讀取這些文件中的EXIF數據而無需加載和解壓縮整個jpeg文件?
編輯:為什么我需要快速方法?
我試過這個問題的解決方案: 如何使用C#從文件中獲取EXIF數據
對於1000張總大小約為1GB的圖像,需要3分鍾進行分析。 因此,對於較大的(50G)照片庫,可能需要2個小時。 當您需要幾乎即時的信息時,例如:“客戶使用的縮放比例是什么”,這太慢了。
您可以在ExifLib中找到一些代碼示例- 用於.NET 2.0+的快速Exif數據提取器 (以及一個完整的項目),它顯示了如何讀取僅獲取EXIF信息所需的最小數據。
GdPicture.NET Imaging SDK啟動版本10提供了一種新的圖像解析機制,允許直接訪問圖像元數據(EXIF,GPS,XMP,IPTC ...)而無需解碼像素。 它支持90多種圖像格式,包括JPEG,TIFF,RAW和WebP。
這里一個鏈接,演示了如何使用C#和VB.NET中提取元數據GdPicture.NET知識庫(許多其他語言也支持): 教程
如果有人需要進一步的信息,我將很樂意提供幫助。
免責聲明:我是GdPicture.NET的產品架構師。
你不需要解壓縮任何東西,Exif信息保存在圖像之前的標題中,所以你需要做的就是打開文件,讀取exif標題並解碼你需要的任何東西。 這是你手動讀取exif數據(這並不難)。
如果您需要的只是尺寸,那就在前面
編輯:注意exif數據實際上並不是必須在前面,但它幾乎總是如此,因此可以安全地假設一般來說它會比它不是很快。
另外,您是否檢查過使用標准API“太慢”? 我不會認為50G會花費那么長時間(或者如果以不同的方式做它必然會更快)。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.