試圖創建一個圖像採集應用程序,爲快速掃描儀進行了優化(可以爲每張紙以150 ppm的速度提供多達6個壓縮圖像[顏色+灰度+二進制] [前置+後置])我有一些速度的問題。 使用TWAIN技術和內存緩衝區傳輸模式(TWSX_MEMORY)我從掃描儀接收圖像緩衝區(如加載到內存中的JPEG或TIFF文件)並將其保存到我的應用程序目標路徑。 如果我不想創建縮略圖,我的應用程序不會造成掃描儀速度的損失,但是如果我想這樣做,我會這樣做(將緩衝區保存到處理dll的C++ TWAIN文件中,通知我的.NET主機使用函數指針的目標文件路徑的應用程序,使用C#打開圖像文件並創建縮略圖圖像),我的應用程序會導致掃描速度極快的速度損失。 我嘗試了一些優化,例如在一個單獨的線程中執行加載階段並向.NET主機發送非託管圖像文件緩衝區,並嘗試將其加載到不安全的上下文(UnmanagedMemoryStream)中並創建縮略圖。但它並沒有顯着提高速度。所以我的問題是:在內存中有一個圖像文件緩衝區,創建其縮略圖的最快方法是什麼?
在內存中有一個圖像文件緩衝區(例如24位JPEG壓縮沒有嵌入的縮略圖),有沒有一個快速直接的方式來創建從它的縮略圖圖像?你認爲在這種情況下創建縮略圖的最快方法是什麼?
謝謝,這似乎是我想要的。 – 2009-08-23 10:03:46
我已經設法測試了EPEG,對於有興趣做同樣事情的人,我應該提一下,EPEG庫現在已經從啓示源代碼中刪除了,因此您應該在其舊源代碼中搜索它,例如: http://download.enlightenment.org/snapshots/2008-01-25/。 – 2009-08-23 12:43:42
對於TIFF圖像,我使用以下代碼:http://www.koders.com/c/fidFAE1882A0596B9D224D831B852AE9891D0154D6D.aspx。 它不如EPEG快,但完成了工作。 – 2009-08-24 08:59:22