vs2015下通過opencv使用hdf5


因為使用Kinect SDK編程,又需求高速文件I/O,所以通過opencv接口使用hdf5。

(opencv 3.1以上版本,在其Extra Modules中支持hdf5)


 

一、 環境

OS: Windows 10

IDE: Visual Studio 2015 (vc14)

SDK: hdf5-1.8.19, opencv-3.2, opencv-contrib-3.2

Other Tools: CMake 3.9.0-rc5

二、 安裝(Win64)

1. 安裝hdf5 1.8.19

2. cmake安裝opencv+contrib 3.2,參見官方文檔:

http://docs.opencv.org/master/d3/d52/tutorial_windows_install.html

https://github.com/opencv/opencv_contrib

注意:

加入opencv_contrib后再按下cmake-gui的config鍵。

在VS編譯的時候,不要忘了分別編譯Debug和Release版本,之后再編譯INSTALL的Debug和Release版本(相當於Linux里的make install)。

3. 設置OPENCV_DIR環境變量,%OPENCV_DIR%\bin加入到Path里(以便程序運行時可以找到DLL文件)。

三、 VS編程

這里使用C++語言。

1. 設置opencv到INCLUDE和LIB目錄,參見官方文檔:

http://docs.opencv.org/master/d6/d8a/tutorial_windows_visual_studio_Opencv.html

2. 項目屬性->鏈接器->輸入-附加依賴項,加入:

opencv_core320d.lib
opencv_hdf320d.lib

(帶d的是Debug版lib,這里也在屬性管理器里可以分別設置Release版的lib)

3. 示例代碼如下:

#include "stdafx.h"
#include <opencv2/core.hpp>
#include <opencv2/hdf.hpp>

int main()
{
    int count = 0;
    // dual channel hilbert matrix
    cv::Mat H(100, 100, CV_64FC2);
    for (int i = 0; i < H.rows; i++)
    {
        for (int j = 0; j < H.cols; j++)
        {
            H.at<cv::Vec2d>(i, j)[0] = 1. / (i + j + 1);
            H.at<cv::Vec2d>(i, j)[1] = -1. / (i + j + 1);
            count++;
        }
    }

    // open / autocreate hdf5 file
    cv::Ptr<cv::hdf::HDF5> h5io = cv::hdf::open("mytest.h5");
    // write / overwrite dataset
    h5io->dswrite(H, "hilbert");
    //release
    h5io->close();
    return 0;

 


免責聲明!

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



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