OpenCV3.0 alpha cvSaveImage/cvLoadImage moved to a different library (Bug #3998)


Added by Mark DeNies over 10 years ago. Updated over 10 years ago.


Status:Done Start date:2014-11-06
Priority:Normal Due date:
Assignee:- % Done:

100%

Category:highgui-gui
Target version:3.0-beta
Affected version:branch 'master' (3.0-dev) Operating System:Windows
Difficulty:Medium HW Platform:x64
Pull request:

Description

I am currently migrating from version 2.2 to 3.0alpha. I noticed a discrepancy in 3.0 alpha: cvSaveImage() and cvLoadImage() are defined in highgui.h. in version 2.2, when linking, they were located in opencv_highgui220.lib. Now, they appear to be located in opencv_codecs300.lib. Shouldn't they be in opencv_highgui300.lib? It took a while for me to resolve the "unresolved external symbol" when linking, and I suspect others may have the same problem.

Mark


Associated revisions

Revision 535dc1e8
Added by Vadim Pisarevsky almost 10 years ago

Merge pull request #3998 from msandler:master

History

Updated by Philip L over 10 years ago

this is correct and it is as far as i know, as an user, a design change the opencv developer team made.
Since highgui is stated as a gui library i think this was not the correct place where you should store such functions for loading / saving images so they moved them to a very own library as you already stated.

The correct library for this purpose is as you already know now the opencv_imgcodecs module.

There are more huge changes between 2.* and 3.* so you will find some more differences for sure.

TLDR: saving / loading images is now in the opencv_imgcodecs module

  • % Done changed from 0 to 100
  • Status changed from New to Done

Updated by Steven Puttemans over 10 years ago

Its normal that it changed. Loading and saving an image depends heavily on the codec used for storing the image information. Too keep it combined with the different codec backends, this was moved :)

Also available in: Atom PDF