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;
时间: 2024-08-02 17:55:17

vs2015下通过opencv使用hdf5的相关文章

VS2015下opencv库的配置

要使用VS2015的C++代码来开发opencv以及图像处理,必须在VS2015中配置好opencv的库以及引用的安装路径. 一.首先我们把下载好的opencv(windous版)软件放到安装目录下解压, 下载链接:https://opencv.org/releases/ 图1 OpenCV4.1.0下载界面 点击Win pack,设置好路径,开始下载.下载完成后,如图2所示. 图2 自解压程序下载成功 双击该exe文件进行解压.解压后如图3所示.(建议不要放C盘) 图3 解压后为文件夹open

pycharm 和 Anaconda 下的 opencv 安装

学习真的切忌三天打鱼两天晒网!! 一开始python下的opencv已经都弄好了,中间电脑坏了一次,好久没有接触这个,就全部都忘完了.深感惋惜. 今天又从新安装了一下opencv.在anaconda下的安装非常的方便,只要把opencv下的一个cv2.pyd文件复制到anaconda下就可以了.具体操作是: 先找到你的opencv路径下的cv2.pyd,------------------D:\Program Files\opencv\build\python\2.7\x64 将cv2.pyd复

QtCreator下运行opencv出现realloc():pointer invalid

解决办法是将qmake换成4.8的,qmake5.2的支持opencv支持的不是很好 QtCreator下运行opencv出现realloc():pointer invalid,布布扣,bubuko.com

【从零学习openCV】IOS7下的openCV开发起步(Xcode5.1.1&amp;amp;openCV2.49)

前言: 开发IOS7已经有一月的时间了,近期在准备推研的事,有点想往CV方向发展,于是開始自学openCV. 关注CSDN已经非常久了,也从非常多博主那学到了非常多知识,于是我也从这周开启自己的blog之旅,从零開始学openCV,从零開始做笔记写blog,哈哈~ 好了,废话不多说,进入正题.. IOS7下使用openCV Mac OS下要使用openCV当然要编译,可是假设仅仅是在ios下使用openCV的话,仅仅须要将bulid好的opencv2.framework导入到project中就可

VS2015下OpenGL库的配置

写在前面: 最近要用到OpenGL,光是在VS2015下配置就费了很大的劲,现在将我的成果直接贡献给大家,希望能为需要在VS2015下配置OpenGL的读者省去一些麻烦. 正文: 资源地址1:http://pan.baidu.com/s/1kVv8jbx   提取码:owya 资源地址2:http://down.51cto.com/data/2300181 若链接失效,请读者留言,我会发到您的邮箱. 资源都是编译好的,可直接拿来用,亲测可用. 下载资源后,解压“OpenGL安装包.zip”,在“

Ubuntu 下安装opencv 编译后执行找不到库

在ubuntu下编译opencv程序后,执行报下面到错误:error while loading shared libraries: libopencv_core.so.2.4: cannot open shared object file: No such file or directory解决方法:找到libopencv_开头到库的目录,在/usr/local/lib下面,在/etc/ld.so.conf.d/下面新建一个opencv.conf,里面写入/usr/local/lib,最后执行

java 在centos6.5+eclipse环境下调用opencv实现sift算法

java 在centos6.5+eclipse环境下调用opencv实现sift算法,代码如下: import org.opencv.core.Core; import org.opencv.core.Mat; import org.opencv.core.MatOfKeyPoint; import org.opencv.highgui.Highgui; import org.opencv.features2d.*; public class ExtractSIFT{ public static

【python下使用OpenCV实现计算机视觉读书笔记3】读写视频文件

Lua可以调用C函数的能力将极大的提高Lua的可扩展性和可用性. 对于有些和操作系统相关的功能,或者是对效率要求较高的模块,我们完全可以通过C函数来实现,之后再通过Lua调用指定的C函数. 对于那些可被Lua调用的C函数而言,其接口必须遵循Lua要求的形式,即typedef int (*lua_CFunction)(lua_State* L). 简单说明一下,该函数类型仅仅包含一个表示Lua环境的指针作为其唯一的参数,实现者可以通过该指针进一步获取Lua代码中实际传入的参数.返回值是整型,表示该

(转)在Mac下使用OpenCV, 在Xcode下使用OpenCV (非常基础,详细)

转自:http://blog.sciencenet.cn/home.php?COLLCC=3456986939&COLLCC=3456885714&mod=space&uid=702148&do=blog&quickforward=1&id=657754%20%E5%9C%A8Mac%E4%B8%8B%E4%BD%BF%E7%94%A8OpenCV%EF%BC%8C%20%E5%9C%A8Xcode%E4%B8%8B%E4%BD%BF%E7%94%A8Ope