利用连个缓冲区,分别交替的读取图像,当消费者读取一个缓冲区的数据时,启动另一个缓冲区,在这里边显示,并且一边存储,
两个缓冲区,两个关键段(互斥作用), 四个事件来进行判断相互的满空情况.利用了2个队列实现:
//1生产者 1消费者 1缓冲区
//使用二个事件,一个表示缓冲区空,一个表示缓冲区满
//再使用一个关键段来控制缓冲区的访问
#include "iostream"
//#include "stdio.h"
#include "process.h"
#include "windows.h"
#include "highgui.h"
#include "core/core.hpp"
#include "vector"
#include "queue"
using namespace std;
using namespace cv;
//设置控制台输出颜色
BOOL SetConsoleColor(WORD wAttributes)
{
HANDLE hConsole = GetStdHandle(STD_OUTPUT_HANDLE);
if(hConsole == INVALID_HANDLE_VALUE)
return FALSE;
return SetConsoleTextAttribute(hConsole, wAttributes);
}
const int END_PRODUCE_NUMBER = 10; //生产产品个数 //set the number of frames
int g_Buffer; //缓冲区
//缓冲区
const in