打印輸出opencv的版本信息


本文鏈接: https://mangoroom.cn/opencv/print-opencv-version-info.html

查看自己安裝的opencv的版本信息的方法有兩種。

方法一-查看lib文件

到opencv的安裝目錄。進去lib文件夾,查看opencv的lib文件名稱,文件名稱中含有的數字便是opencv的版本信息。例如

opencv_calib3d411d.lib
opencv_core411d.lib
opencv_dnn411d.lib
opencv_features2d411d.lib
opencv_flann411d.lib
opencv_gapi411d.lib
opencv_highgui411d.lib
opencv_imgcodecs411d.lib
opencv_imgproc411d.lib
opencv_ml411d.lib
opencv_objdetect411d.lib
opencv_photo411d.lib
opencv_stitching411d.lib
opencv_video411d.lib
opencv_videoio411d.lib

以上的opencv版本就是opencv4.1.1,版本號接着的字母d是debug的意思,表示這是debug版的opencv.

方法二-代碼輸出

除了方法一查看lib文件的方法,還可以以代碼輸出的方式。輸出的代碼如下:

#include<iostream>
#include<opencv2/opencv.hpp>


int main()
{
	std::cout << "OpenCV version : " << CV_VERSION << std::endl;
	std::cout << "Major version : " << CV_MAJOR_VERSION << std::endl;
	std::cout << "Minor version : " << CV_MINOR_VERSION << std::endl;
	std::cout << "Subminor version : " << CV_SUBMINOR_VERSION << std::endl;

	system("pause");
	return 0;
}

運行后,芒果測試的輸出結果為:

OpenCV version : 4.1.1-pre
Major version : 4
Minor version : 1
Subminor version : 1
Press any key to continue . . .

可以看到,以上的信息。芒果使用的opencv是opencv-4.1.1預覽版的(芒果自編譯),主要版本4,次要版本為1,次要子版本為1。


打印版本信息的代碼非常簡單,只需要輸出定義的版本的幾個宏,芒果順便查閱了官方文檔,幾個宏的定義如下:

§ CV_MAJOR_VERSION
#define CV_MAJOR_VERSION   CV_VERSION_MAJOR
§ CV_MINOR_VERSION
#define CV_MINOR_VERSION   CV_VERSION_MINOR
§ CV_SUBMINOR_VERSION
#define CV_SUBMINOR_VERSION   CV_VERSION_REVISION
§ CV_VERSION
#define CV_VERSION   CVAUX_STR(CV_VERSION_MAJOR) "." CVAUX_STR(CV_VERSION_MINOR) "." CVAUX_STR(CV_VERSION_REVISION) CV_VERSION_STATUS

可以看到,與版本信息相關的幾個宏定義都有兩個以上的值,意味着輸出CV_MAJOR_VERSION與CV_VERSION_MAJOR是一樣的。

利用版本信息

不同的opencv版本代碼使用有所不一樣,所以要寫出兼容不同版本opencv的代碼,這時可以利用opencv的版本信息。

if ( CV_MAJOR_VERSION >= 4)
  {
      //  opencv4.x版本代碼
  } else if(CV_MAJOR_VERSION >= 3)
  {
      // opencv3.x版本代碼
  }else
  {
      // opencv2.x版本代碼
  }

尾巴

網上很多人喜歡用imshow函數來驗證opencv是否安裝和配置成功,其實輸出版本信息也是一個非常簡單的方法。


本文由芒果浩明發布,轉載請注明來源。
本文鏈接:https://mangoroom.cn/opencv/print-opencv-version-info.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM