OpenCV3.0 alpha cvSaveImage/cvLoadImage moved to a different library (Bug #3998)
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
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 :)