win10 64 + VS2010 + Opencv 2.4.9 + HIKVISION(海康)
海康相机型号:DS-2CD2512F-IS
参考连接http://blog.csdn.net/wanghuiqi2008/article/details/31404571
先上效果图


其中,在连接时遇到了X64与X86兼容问题:
海康SDK在X64(配置时用的时X64),程序运行时采用的X64,但opencv2.4.9配置时又采用的时X86,所以在使用X64的时候,会出现opencv找不到lib文件,所有在程序中添加了以下代码:
#pragma comment( lib, "opencv_highgui249d.lib")
#pragma comment( lib, "opencv_core249d.lib")
#pragma comment( lib, "opencv_imgproc249d.lib")
主要程序如下:
#include <cstdio>
#include <iostream>
#include <ctime>
#include <Windows.h>
#include "HCNetSDK.h"
#include "highgui.h"
#include "cv.h" #pragma comment( lib, "opencv_highgui249d.lib")
#pragma comment( lib, "opencv_core249d.lib")
#pragma comment( lib, "opencv_imgproc249d.lib")
using namespace cv;
using namespace std; //typedef HWND (WINAPI *PROCGETCONSOLEWINDOW)();
//PROCGETCONSOLEWINDOW GetConsoleWindow; int main(int argc, char * argv[])
{
//---------------------------------------
// 初始化
NET_DVR_Init();
//设置连接时间与重连时间
NET_DVR_SetConnectTime(, );
NET_DVR_SetReconnect(, true); //---------------------------------------
//获取控制台窗口句柄
//HMODULE hKernel32 = GetModuleHandle((LPCWSTR)"kernel32");
//GetConsoleWindow = (PROCGETCONSOLEWINDOW)GetProcAddress(hKernel32,"GetConsoleWindow"); //---------------------------------------
// 注册设备
LONG lUserID;
NET_DVR_DEVICEINFO_V30 struDeviceInfo;
lUserID = NET_DVR_Login_V30("192.168.199.3", , "admin", "guoji123", &struDeviceInfo);
if (lUserID < )
{
printf("Login error, %d\n", NET_DVR_GetLastError());
NET_DVR_Cleanup();
return -;
} //---------------------------------------
//cvNamedWindow("camera",CV_WINDOW_AUTOSIZE);
IplImage* frame;
//定义JPEG图像质量
LPNET_DVR_JPEGPARA JpegPara = new NET_DVR_JPEGPARA;
JpegPara->wPicQuality = ;
JpegPara->wPicSize = ; char * Jpeg = new char[*];
DWORD len = *;
LPDWORD Ret = ; if(!NET_DVR_SetCapturePictureMode(BMP_MODE))
{
cout<<"Set Capture Picture Mode error!"<<endl;
cout<<"The error code is "<<NET_DVR_GetLastError()<<endl;
} //bool capture = NET_DVR_CaptureJPEGPicture(lUserID,1,JpegPara,"1111");
vector<char>data(*);
while()
{
bool capture = NET_DVR_CaptureJPEGPicture_NEW(lUserID,,JpegPara,Jpeg,len,Ret);
if(!capture)
{
printf("Error: NET_DVR_CaptureJPEGPicture_NEW = %d", NET_DVR_GetLastError());
return -;
} for(int i=;i<*;i++)
data[i] = Jpeg[i]; Mat img = imdecode(Mat(data),);
imshow("camera",img);
waitKey(); } //FILE * fp = fopen("3.jpg","wb");
//fwrite(Jpeg,1,123*1024,fp);
//fclose(fp); return ;
}
win10 64 + VS2010 + Opencv 2.4.9 + HIKVISION(海康)的更多相关文章
- (win10 64位系统中)Visual Studio 2015+OpenCV 3.3.0环境搭建,100%成功
(win10 64位系统中)Visual Studio 2015+OpenCV 3.3.0环境搭建,100%成功 1.下载opencv 官网http://opencv.org/下载windows版Op ...
- Win10 64位+VS2015+Opencv3.3.0安装配置
Win10 64位+VS2015+Opencv3.3.0安装配置 1.我们首先下载VS2015.OpenCV3.3.0. 1.1 VS2015下载 在官网https://visualstudio.mi ...
- Hadoop 3.2.1 win10 64位系统 vs2015 编译
Hadoop 3.2.1 win10 64位系统 vs2015 编译 1 环境配置 1.1 JDK下载安装 1.1.1 下载 JDK 1.8 (jdk1.8.0 ...
- win10 64位专业版系统中显示32位dcom组件配置的方法
word.excel是32位的组件,当用户64位系统在运行窗口中输入dcomcnfg命令时,在打开的组件服务管理窗口,是找不到Microsoft Excel.word程序的.另外,Windows 环境 ...
- VS2010+Opencv+SIFT以及出现的问题-关于代码sift_3_c的说明
http://blog.sina.com.cn/s/blog_a6b913e30101dvrt.html 一.前提 安装Opencv,因该版本的SIFT是基于Opencv的. 下载SIFT源码,见Ro ...
- Win10 64位安装SQL2000(个人版)
默认Win10上是不允许安装SQL2000的,毕竟SQL2000已经是10多年前的老软件了,但是因为它成熟稳定,相比SQL2005,SQL2008R2,SQL2012,SQL2014,体积要小的多,所 ...
- WIN10 64位下VS2015 MFC直接添加 halcon 12的CPP文件实现视觉检测
近段时间开始接触halcon,但是在VS2015里面使用,无论是配置还是生产EXE文件,都不如意. 加上网上的教程很多,经过多次测试,其实有很多地方无需修改,如果修改的太多也失去了直接添加封装的意义. ...
- 外网win10 64位环境下 为内网win7 32位安装三方包的最靠谱手段:python64位、32位全安装。
经过一周的各种折磨,如题.以下是我的经验和教训. 我的外网是win10 64位,内网环境win7 32位.由于未知原因,anaconda无法安装!!! 其实最靠谱的安装三方包的还是whl包.但是很有可 ...
- 解决win10 64位 + Python3 安装PyAutoIt报不是有效win32应用程序的办法
在win10 64位 + Python3的环境中,安装pyautoit第三方包的时候,报错提示为:不是有效win32应用程序.因为这个问题,进了python群,去寻求答案,却告知为,换32位的电脑,这 ...
随机推荐
- vuejs的双向绑定实现原理
Vue在初始化的时候,会有两个大步骤: 1.Compile 从root的节点开始编译,根据正则表达式,把特殊的v-*类的标签,全部转换成对应的内存中的object 2.Observe 全部的data, ...
- String Permutation
Given two strings, write a method to decide if one is a permutation of the other. Example abcd is a ...
- jq demo 点击弹窗,居中,可滚动,可拖动
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- mysql 在 win 安装 最全攻略(附转载的乱码终极解决方案)以及解决data too long for column 'name' at row 1, 一种可能就是因为编码一致性问题.
[博客园cnblogs笔者m-yb原创,转载请加链接,公众号aandb7, github.com/mayangbo666,QQ群927113708] https://www.cnblogs.com/m ...
- 一分钟学会ConstraintLayout(转载)
原文地址:https://www.v2ex.com/t/287863 最近更新了Android Studio,突然发现xml中的布局已经变成了ConstraintLayout,于是搜了一篇文章看一下 ...
- @Autowired Map<String , Object> xx
http://www.cnblogs.com/davidwang456/p/4432410.html @Autowired 标注作用于 Map 类型时,如果 Map 的 key 为 String 类型 ...
- Oracle创建视图的一个问题
问题: 在用户user1中创建视图,查询内容包含user2下的表数据, 创建视图的时候提示“权限不足”.执行如下语句: --为USER1授权 GRANT CREATE ANY TABLE TO USE ...
- Van Emde Boas Tree
van Emde Boas trees 支持所有优先级优先级队列的操作,并且巧妙的是它对于SEARCH, INSERT,DELETE,MINIMUM,MAXMUN,SUCCESSOR,和PREDECE ...
- linux 查看当前系统版本号
为避免现场未能完全安装系统,使用yum 安装版本需一致 第一种方法: [root@sky9896sky]# lsb_release -a bash:lsb_release: command not f ...
- idea快捷键的设置
因为开始学java被培训机构里的无良老师给带偏,"染上了"MyEclipse的快捷键"恶习",于是很难改了. 所以,在使用idea时,要设置快捷键了,快点适应之 ...