用c++写一个利用opencv调用摄像头并加上滤镜的代码
时间: 2024-02-22 11:58:40 浏览: 73
以下是一个简单的C++代码,利用OpenCV调用摄像头并应用高斯滤波器:
```c++
#include <opencv2/opencv.hpp>
#include <iostream>
using namespace cv;
using namespace std;
int main()
{
VideoCapture cap(0); // 打开默认的摄像头
if (!cap.isOpened())
{
cout << "无法打开摄像头" << endl;
return -1;
}
namedWindow("摄像头", WINDOW_NORMAL);
while (true)
{
Mat frame;
cap.read(frame); // 读取一帧图像
if (frame.empty())
{
cout << "无法读取帧" << endl;
break;
}
Mat filtered;
GaussianBlur(frame, filtered, Size(15, 15), 0); // 应用高斯滤波器
imshow("摄像头", filtered); // 显示图像
if (waitKey(30) == 27) // 按下ESC键退出
{
break;
}
}
cap.release(); // 释放摄像头
destroyAllWindows(); // 关闭所有窗口
return 0;
}
```
请注意,此代码仅为演示目的。您可以根据需要自定义滤镜和其他参数。
阅读全文