使用C程序在窗口中查看图像?

时间:2012-07-20 06:31:30

标签: c image optimization opencv

我正在尝试开发一个YUV图像查看器。目标是读取YUV图像并在窗口中显示图像。我正在使用C来开发此应用程序。

将YUV信息转换为RGB数据后,查看图像我正在使用来自OpenCV的cvShowImage和cvResize函数。要在其他系统中使用此应用程序,我需要在其中安装opencv,因为我正在使用预编译的dll。我通过基于“How to embedd openCV Dll's in Executable”中提供的指南使用静态库重新编译程序来修复此问题,并生成了一个可跨机器移植的新的可执行文件。这导致我的应用程序文件大小从100KB增长到2350KB。这种增长是巨大的。我怀疑这是因为有几个不必要的函数被链接到我的最终可执行文件

为此我使用了开关消除未引用数据(/ OPT:REF)。但这并没有解决任何问题。

有没有办法解决这个问题?

1 个答案:

答案 0 :(得分:1)

链接器会自动从您的exe中删除所有不需要的代码。

但如果你还记得你的程序包含

  • 读取各种图像格式(bmp,jpg,tiff等等)的所有代码,
  • OpenCV核心的一个很好的部分(矩阵处理)
  • 某些特定于操作系统的窗口和消息处理(显示图像并能够调整大小/单击/等)
  • 您使用但不知道的其他一些实用程序

就是这样......几MB的代码。

修改

不要忘记在发布模式下构建程序。在调试模式下,标准代码中添加了一些与调试相关的信息。