因为使用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 = ;
// dual channel hilbert matrix
cv::Mat H(, , CV_64FC2);
for (int i = ; i < H.rows; i++)
{
for (int j = ; j < H.cols; j++)
{
H.at<cv::Vec2d>(i, j)[] = . / (i + j + );
H.at<cv::Vec2d>(i, j)[] = -. / (i + j + );
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 ;

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

  1. Mac-OSX的Python3.5虚拟环境下安装Opencv

    Mac-OSX的Python3.5虚拟环境下安装Opencv 1   关键词 关键词:Mac,OSX,Python3.5,Virtualenv,Opencv 2   概述 本文是一篇 环境搭建 的基础 ...

  2. VS2015下如何用编译、调试程序。

    VS2015下如何用编译.调试程序. (通过实践给出截图) 安装步骤: 下载安装网址[VS2015下载地址](http://www.ithome.com/html/win10/164028.htm) ...

  3. VS2015下编译64位GDAL总结

    使用VS2015编译最新的64位GDAL(最新gdal2.11),确实有一些问题,看来双方还是太新了,有点不兼容,特总结如下. 以前经常用的通过VisualStudio IDE进行编译的方式现在似乎不 ...

  4. OrchardNoCMS vNext如何在VS2015下调试

    由于VS2015还没有出来正式版,ASP.NET 5也是没有出来正式版.所以在你下载了OrchardNoCMS vNext的代码后,需要配置一些东西,才能启动项目,开始调试. 需要注意以下几点: 1. ...

  5. 在VS2010下配置OpenCV 2.3

    一.下载OpenCV 2.3:       http://www.opencv.org.cn/download/OpenCV-2.3.0-win-superpack.exe   二.解压 将下载的Op ...

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

    转自:http://blog.sciencenet.cn/home.php?COLLCC=3456986939&COLLCC=3456885714&mod=space&uid= ...

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

    在ubuntu下编译opencv程序后,执行报下面到错误:error while loading shared libraries: libopencv_core.so.2.4: cannot ope ...

  8. [置顶] ubuntu12.04下编译opencv程序

    ubuntu12.04下编译opencv程序 1.在ubuntu下安装好 opencv后(建议使用apt-get install 来安装) 2.使用程序FaceExaple.c来进行测试程序 #inc ...

  9. VS2015下OpenGL库的配置

    写在前面: 最近要用到OpenGL,光是在VS2015下配置就费了很大的劲,现在将我的成果直接贡献给大家,希望能为需要在VS2015下配置OpenGL的读者省去一些麻烦. 正文: 资源地址1:http ...

随机推荐

  1. Linux基础命令---fold

    fold 按照指定的宽度显示文件. 此命令的适用范围:RedHat.RHEL.Ubuntu.CentOS.SUSE.openSUSE.Fedora. 1.语法       fold [选项]  fil ...

  2. Gatling新一代压力测试工具,新一代服务器性能测试工具Gatling

    Gatling新一代压力测试工具新一代服务器性能测试工具Gatlinghttp://www.infoq.com/cn/articles/new-generation-server-testing-to ...

  3. Linux Touch命令的8种使用技巧

    Linux touch命令不仅可以用于在Linux上创建空文件. 您可以使用它来更改现有文件的时间戳,包括其访问权限和修改时间. 本文介绍了8种可以通过Linux终端使用touch命令的方案. 我们在 ...

  4. 用户可在Messenger内读书并与角色互动

    畅销小说作家 James Patterson 与 Facebook 合作,为新书<The Chef>在 Messenger 推出互动体验版. 10 月 30 日下午消息,据<香港经济 ...

  5. CentOS7.3防火墙firewalld简单配置

    今天安装了centos7.3, 想用iptables的save功能保存规则的时候发现跟rhel不一样了,  后来度娘说centos用的是firewalld而不是iptables了, 平时工作都是用re ...

  6. C++ tinyXML的使用和字符编码转换

    转载:http://jetyi.blog.51cto.com/1460128/761708/ 关于tinyxml使用的文档有很多(这篇文章就写的很好),这里仅提一下字符编码的转换问题,如果你不熟悉字符 ...

  7. Win32建立右键弹出菜单(PopMenu)

    自定义右键菜单: #ifndef _CONTEXTMENU_H_ #define _CONTEXTMENU_H_ #include <windows.h> //动态菜单 #define I ...

  8. startActivityForResult( )用法

    一.与startActivity( )的不同之处 1, startActivity( ) 仅仅是跳转到目标页面,若是想跳回当前页面,则必须再使用一次startActivity( ). 2, start ...

  9. sql 之优化小技巧

    SET NOCOUNT ON:不返回计数,如果存储过程中包含一些并不返回实际数据的语句,网络通信流量便会大量减少,可以显著提高应用程序性能:

  10. spring注解没起作用

    本文为博主原创,未经允许,不得转载: 今天在写一个功能的时候,用的是springMVC的注解,当整个的功能写完在调试的时候, 从浏览器请求一直请求不到,仔细检查代码的时候也没检查出逻辑的问题,关键的问 ...