
// 包含OpenCV库的头文件
#include "opencv2/core.hpp" // 包含OpenCV核心功能
#include "opencv2/videoio.hpp" // 包含视频IO功能
#include "opencv2/highgui.hpp" // 包含高级GUI功能,显示图像
#include "opencv2/imgproc.hpp" // 包含图像处理功能
using namespace cv; // 使用OpenCV命名空间,方便调用OpenCV函数
int main(int, char* [])
{
VideoCapture video(0); // 创建VideoCapture对象,用于捕获编号为0的摄像头视频
// 定义一些Mat类型的变量用于存放处理的帧
Mat frame, curr, prev, curr64f, prev64f, hann;
char key; // 用于接收用户按键
// 主循环
do
{
video >> frame; // 从视频流中读取一帧保存到frame变量中
cvtColor(frame, curr, COLOR_RGB2GRAY); // 将捕获的彩色帧转换为灰度图
// 如果prev为空,说明是第一帧,需要进行初始化
if(prev.empty())
{
prev = curr.clone(); // 将当前帧存储到prev中,用于下次迭代
createHanningWindow(hann, curr.