【问题标题】:Trouble loading tiff images with wxWidgets when using camera aquisition methods使用相机采集方法时无法使用 wxWidgets 加载 tiff 图像
【发布时间】:2012-05-19 14:36:26
【问题描述】:

我正在编写(或者更确切地说是接管)一个用 Visual C++ 编写的小型网络摄像机捕获程序。相机是 Allied Vision Technologies,使用PvAPI.h,GUI 是用wxwidgets 编写的。当他们无法在 wxWidgets 下加载 tiff 图像时,该项目被放弃了。我已将问题追溯到一条线,遗憾的是它是从相机捕获帧的线

if( !ImageWriteTiff(GCamera.Filename,pFrame) )

如果我注释掉这一行,下面的行就可以正常工作

image = new wxStaticBitmap(mainPanel, wxID_ANY, wxBitmap("C:\\path-to\\horse.tif",
    wxBITMAP_TYPE_TIF), wxPoint(244,64));

由于某种原因,如果我使用 ImageWriteTiff 是不允许 wxWidgets 导入 tiff。我还确保导入所有图像处理程序

wxInitAllImageHandlers();

【问题讨论】:

  • '不允许 wxWidgets 导入 tiff' 这是什么意思?是否收到错误消息,程序是否崩溃,什么?
  • 当我运行编译版本时,Visual C++ 显示“TIFF:读取图像时出错”并在详细信息下显示“tiff 模块:图像”“抱歉,未配置请求的压缩方法”“TIFF:错误阅读图像。”
  • 我建议将这些详细信息添加到您的问题中,以便每个人都可以轻松阅读。

标签: c++ visual-c++ wxwidgets tiff


【解决方案1】:

他们可能构建了不支持压缩的 TIFF 库。 IIRC,默认情况下未打开。

作为测试,尝试将 TIFF 加载到像 Gimp 这样的免费绘图程序中,然后将其保存为未压缩的状态,然后查看 wx 加载代码是否有效。

如果这是问题所在,那么您需要使用 zlib 作为 tiff 库的一部分来重建您的 wx 库。由于这是依赖于操作系统/编译器的,你需要用谷歌搜索。还有可能是wx的版本过时了。

【讨论】:

    猜你喜欢
    • 2016-05-17
    • 2013-06-09
    • 2017-09-24
    • 2020-04-09
    • 1970-01-01
    • 2019-04-16
    • 2017-02-22
    • 2018-09-24
    • 2013-07-11
    相关资源
    最近更新 更多