我正在处理带金字塔的tiff文件。但是,OpenCV
它不支持金字塔状的tiff文件,因此我试图用来libtiff 4.0.3
提取所需的层/目录/分辨率,然后将其传递给OpenCV
进行处理。
我包括以下内容:
#include "tiffio.h"
#include "opencv2/highgui/highgui.hpp"
但是这样做给我以下内容types_c.h
:
typedef int64_t int64;
Typedef redefinition with different types ('int64_t(aka 'long long') vs 'long')
似乎两个库中的每个库对int64_t的定义不同。
我曾经homebrew
安装过这两个库,所以我不想不必编辑那些库,因为这会导致获取更新的问题,给团队中的未来开发人员带来痛苦。
有没有办法可以在不修改它们的情况下使用这两个库?
由于这两个库都使用定义“污染”了全局名称空间(并且您知道,在第三方库中拥有适当的名称空间是多么重要),因此无法将两者都包含到全局名称空间中。您已将其中一个包装在用户定义的名称空间中,如下所示:
namespace libtiff {
#include "tiffio.h"
}
#include "opencv2/highgui/highgui.hpp"
尽管我不确定该解决方案是否方便使用,但是这将解决编译问题,因为您将必须使用libtif ::前缀来使用libtiff成员,
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句