海康opencv+qt图像处理,记录
securityrecoginate.cpp
#include "securityrecognite.h"
#include "ui_securityrecognite.h"
//#include "includes/video/hkvision/win32/HCNetSDK.h"
//#include "includes/video/hkvision/win32/plaympeg4.h"
#include <QDebug>
#include "opencv2/photo.hpp"
#include "opencv2/imgproc.hpp"
#include "opencv2/highgui.hpp"
#include <QBuffer>
#define USECOLOR 1
int SecurityRecognite::m_connectTime = 0;
int SecurityRecognite::m_reconnectTime = 0;
QString SecurityRecognite::m_ipAddress = "";
int SecurityRecognite::m_port = 0;
QString SecurityRecognite::m_userName = "";
QString SecurityRecognite::m_password = "";
LONG SecurityRecognite::m_userId = -1;
NET_DVR_USER_LOGIN_INFO SecurityRecognite::m_loginInfo = {0};
NET_DVR_DEVICEINFO_V40 SecurityRecognite::m_deviceInfo = {0};
NET_DVR_PREVIEWINFO SecurityRecognite::m_struPlayInfo = {0};
LONG SecurityRecognite::m_realPlayHandle = 0;
LONG SecurityRecognite::m_channelId = 1;
LONG nPort;
HWND hWnd=NULL;
SecurityRecognite::SecurityRecognite(QWidget *parent) :
QWidget(parent),
ui(new Ui::SecurityRecognite)
{
ui->setupUi(this);
videoLayout.addWidget(&videoWidget);
videoLayout.setSpacing(1);
videoLayout.setContentsMargins(0,0,0,0);
ui->videoWidget->setLayout(&videoLayout);
}
SecurityRecognite::~SecurityRecognite()
{
delete ui;
}
void CALLBACK g_ExceptionCallBack(DWORD dwType, LONG IUserID, LONG IHandle, void *pUser)
{
char tempbuf[256] = {};
switch (dwType)
{
case EXCEPTION_RECONNECT:
printf("--------reconnect-------%d\n", time(NULL));
break;
default:
break;
}
}
void SecurityRecognite::on_pushButton_clicked()
{
qDebug() << "CALLBACK started!";
}
void yv12toYUV(char *outYuv, char *inYv12, int width, int height,int widthStep)
{
int col,row;
unsigned int Y,U,V;
int tmp;
int idx;
for (row=0; row<height; row++)
{
idx=row * widthStep;
int rowptr=row*width;
for (col=0; col<width; col++)
{
//int colhalf=col>>1;
tmp = (row/2)*(width/2)+(col/2);
Y=(unsigned int) inYv12[row*width+col];
U=(unsigned int) inYv12[width*height+width*height/4+tmp];
V=(unsigned int) inYv12[width*height+t