利用opencv控制UVC摄像头,这个比较简单,直接调用opencv内部的VideoCapture模块进行UVC相机控制,这里不多做解释,直接上代码。
#define _CRT_SECURE_NO_WARNINGS
#include <iostream>
#include <opencv2/opencv.hpp>
#include <process.h>
#include <windows.h>
using namespace std;
using namespace cv;
#define CAMERA_OPEN_ERROR 0X0001
bool g_bSave_img = false;
bool g_bTask_run = true;
unsigned int __stdcall func_cameragrab(PVOID pM)
{
cv::VideoCapture cap;
cap.open(1);
if (!cap.isOpened())
{
cout << "camera open failed!\n";
return CAMERA_OPEN_ERROR;
}
cv::Mat image;
int id = 0;
namedWindow("view");
while (g_bTask_run)
{
cap >> image;
if (image.empty())
break;
if (g_bSave_img)
{
char filename[64] = "";
sprintf(filename, "./Save/saveImg_%2d.jpg", id);
cv::imwrite(filename, image);
g_bSave_img = false;
id++;
p