Ask Your Question

Revision history [back]

OpenCV 3 imgcodecs vs OpenCV 2 highgui - DLL size

Hey everyone,

since I would like to use cv::imreadmulti in one of my projects, I decided to upgrade to OpenCV 3.1.1 (from 2.4.8). However, I have encountered an issue:

  • From 2.4.8, I need the modules core, highgui and imgproc, total size ~6MB for the dlls
  • From 3.1.1, I need the modules core, imgcodecs and imgproc, total size ~56MB (!) for the dlls

What happened here? What is using so much more space? Is there any way to strip down the size further than by disabling modules?

I tried to use the statically linked libs instead of the dlls, which brought the size of the application down to 11MB, which is still nearly twice what the 2.4.8 version took up.

For reference, I'm currently using cv::imreadmulti, cv::cvtColor, cv::Mat and cv::Range. I'm on Windows 10, using the Windows SDK 7.1 compiler (the application will also be built on macOS and linux)