gpt4 book ai didi

c++ - 使用 edsdk 加载 cr2 时出错

转载 作者:太空宇宙 更新时间:2023-11-04 14:05:22 24 4
gpt4 key购买 nike

我正在尝试使用 canon sdk (canon_edsdk-2.12) 读取 cr2 图像。

我似乎正确加载了 dll,但是当我尝试获取实际图像时,出现错误。

我尝试运行示例程序以查看它与我的有何不同,但同样的事情发生了。

尝试在网络上查找问题,我找到了示例的实际源代码:http://read.pudn.com/downloads107/sourcecode/graph/texture_mapping/440409/RAWDevelop/RAWDevelopDlg.cpp__.htm

在给定的源上,我的错误是在 void CRAWDevelopDlg::LoadImage() 函数中 -

err = EdsGetImage( m_ImageRef , source , kEdsTargetImageType_RGB , rect , size , DstStreamRef );   
if( err == EDS_ERR_OK ) {...}
else
{
AfxMessageBox("The error occurred with the EdsGetImage function.");
}

上面(页面上的第 481 行)与我使用的方法相同,但我得到了相同的错误 - 错误代码为 35(而不是 0)。

错误好像是

#define EDS_ERR_FILE_OPEN_ERROR                          0x00000023L

所以...文件可能有问题吗?我尝试了不同版本拍摄的文件,包括最新的相机......文件在 Photoshop 中打开......并且演示确实显示标题信息,因为它给出了错误。所以它可以看到一些东西。

我错过了什么吗?

所有需要的 dll 都在系统路径上...

谢谢。

最佳答案

老问题,仍然可以帮助某人:

要使用 SDK 打开原始文件,您需要调用这些函数(当然,您应该检查错误):

EdsStreamRef stream = NULL;
EdsImageRef imgRef = NULL;
EdsCreateFileStream("filename", kEdsFile_OpenExisting, kEdsAccess_Read, &stream);
EdsCreateImageRef(stream, &imgRef);
EdsRelease(stream);

然后您可以使用 imgRef 设置和获取属性。

要将图像保存为 jpg/tiff/RGB 图像,请使用 EdsSaveImage 函数。

关于c++ - 使用 edsdk 加载 cr2 时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17221737/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com