2016-02-22 36 views
0

我試圖使用佳能Eos Digital SDK(EDSDK)解碼CR2相機圖像以在桌面GUI中顯示。佳能Digital SDK(EDSDK)EdsCreateImageRef錯誤

我跑前幾個方法如下:

err = EDSDK.EdsInitializeSDK(); 
err = EDSDK.EdsCreateFileStream(
       fullpath, 
       EDSDK.EdsFileCreateDisposition.OpenExisting, 
       EDSDK.EdsAccess.Read, 
       out inStream); 
err = EDSDK.EdsCreateImageRef(inStream, out imgRefPtr); 

而且犯錯變量仍然是EDS_ERR_OK直到其執行上面的最後一行,它成爲EDS_ERR_FILE_FORMAT_UNRECOGNIZED。

拍攝照片的相機是EOS 5DS R,它已從3.2.1發行版(我們的當前版本)獲得支持。此外,可以在原始圖像查看器Digital Photo Professional 4中打開CR2圖像。

有關如何在嘗試創建圖像引用時如何克服文件格式無法識別的任何建議錯誤?

+0

3.x版本的圖像工具似乎仍然被打破。我在保存照片時遇到了問題,而相同的代碼完全適用於2.x版本。 –

回答

0

我試圖用相同的相機和佳能SDK解決類似的問題。此版本的更新日誌指出:。

「爲RAW顯像功能,新增支持 爲64位模塊的測試版本RAW顯像功能 增加支持 請注意:支持的相機被限制如下 爲在64位圖像hadling功能模塊。 EOS 5DS/EOS 5DS R/EOS REBEL T6S/EOS 760D/EOS 8000D/EOS REBEL T6i/EOS 750D /EOS吻X8i/EOS M3"

您是否嘗試通過64位應用程序執行圖像處理?

+0

我已經嘗試過32位和64位測試應用程序。有趣的是,當試圖解碼使用EOS 5D Mark III時,我得到了同樣的錯誤,其中在2.11中添加了支持。 此外,我試圖使用更多但不完整的圖書館圖像解碼庫成功。 –

+0

在32位我也試過佳能5D Mark II相機,並有同樣的問題。看起來佳能打破了EdsCreateImageRef加載.cr2文件和開發流式圖像。大衛,請讓我知道,如果你有更好的運氣與圖庫! – pocruadhlaoich

+0

我能夠通過使用Libraw成功解碼圖像。作爲一名C#開發人員,我不得不首先進行P/Invoke和Marshall所需的功能和結構,然後遵循類似於samples/cdraw_emulator文件中的方法。 祝你好運 –