Ram
Ram

Reputation: 411

Viewing images in a window using C Program?

I am trying to develop a YUV image viewer. The objective is it read YUV images and displays the image in a window.I am using C to develop this application.

After transforming YUV information to RGB data, to view the image i am using cvShowImage and cvResize functions from OpenCV. To use this application in other systems i need opencv to be installed in them as i am using precompiled dll's. I fixed this issue by re-compiling the program with static libraries basing on the guide provided in "How to embedd openCV Dll's in Executable" and generated a fresh executable which is portable across machines. This resulted my application file size to grow from 100KB to 2350KB. This growth is enormous. I suspect this is because of several unnecessary functions are getting linked to my final executable

for this i used the switch Eliminate Unreferenced Data (/OPT:REF). But this did not solve anything.

Is there any way to solve this issue?

Upvotes: 2

Views: 364

Answers (1)

Sam
Sam

Reputation: 20058

The linker automatically removes all the unneeded code from you exe.

But if you remember that your program incorporates

  • all the code to read all kinds of image formats (bmp, jpg, tiff, etc, etc, etc),
  • a good part of the OpenCV core (matrix handling)
  • some OS-specific windowing and message handling (to display the image and be able to resize/click/etc)
  • some other utilities that you use and do not know

That's it... a few MB of code.

EDIT

Do not forget to build your program in Release mode. In Debug mode, to the standard code there is added some more info related to debugging.

Upvotes: 1

Related Questions