Ask Your Question

OpenCV 3 imgcodecs vs OpenCV 2 highgui - DLL size

asked 2017-11-12 08:51:02 -0500

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)

edit retag flag offensive close merge delete

1 answer

Sort by ยป oldest newest most voted

answered 2018-10-28 20:31:17 -0500

neppie gravatar image

Sorry I noticed this question too late. I strongly believe the following Q&A helps your agony.

opencv indeed allocates some static buffers for mutexes, random pools, etc, which never are freed (tha's the os'es job)

this architecture was employed since ver.3. I believe it is the case for you.

edit flag offensive delete link more



your answer is unrelated to the question, and you seriously misunderstood the answer you quote.

berak gravatar imageberak ( 2018-10-29 02:13:24 -0500 )edit

Question Tools

1 follower


Asked: 2017-11-12 08:51:02 -0500

Seen: 691 times

Last updated: Oct 28 '18