【发布时间】:2013-10-27 16:13:46
【问题描述】:
我希望能够在 C++ 中处理 RAW 图像,所以我下载了一个已经编译的 DCRaw 可执行文件。我尝试自己编译它,但我不断收到错误。所以我希望能够将原始图像读入 C++ 并使用它们。最好的方法是什么?我应该找到一种方法将 dcraw.c 包含在我的项目中并在其中调用函数,还是应该使用 system(...) 函数访问 EXE 文件?
【问题讨论】:
标签: c++ c image image-processing dcraw
我希望能够在 C++ 中处理 RAW 图像,所以我下载了一个已经编译的 DCRaw 可执行文件。我尝试自己编译它,但我不断收到错误。所以我希望能够将原始图像读入 C++ 并使用它们。最好的方法是什么?我应该找到一种方法将 dcraw.c 包含在我的项目中并在其中调用函数,还是应该使用 system(...) 函数访问 EXE 文件?
【问题讨论】:
标签: c++ c image image-processing dcraw
如果您不想直接在应用程序中处理原始数据,那么是的,您应该使用现有的原始图像解码器实现(如您所说的 dcraw)。
以下是我会按优先顺序执行的操作:
我会首先尝试找到另一个可用作静态或动态库版本的原始图像解码器并链接到该解码器(dcraw 只有一个可执行文件)。
如果 #1 不可行,我会将 dcraw 的相关部分提取到静态库中并链接到该库。
如果不可能,我会按照您的建议将 .c 文件包含在我的代码中。
我只会在我的程序中执行 EXE 作为最后的手段。
话虽如此,如果您的应用程序仅用于实验目的,我认为在您的程序中使用 dcraw EXE 没有任何问题。否则我不会在专业应用程序中这样做。
【讨论】: