如果要调用摄像头进行视频采集,将代码
VideoCapture capture("C:/Users/齐明洋/Desktop/1.mp4"); 中的
"C:/Users/齐明洋/Desktop/1.mp4" 换为 0 就可以了,表示调用摄像头而不是从文件中读取视频。
写法有两种:
①先实例化再初始化:
VideoCapture capture;
capture.open(0);
②实例化的同时进行初始化
VideoCapture capture(0);
代码:
#include<opencv.hpp> using namespace cv; int main() { VideoCapture capture(0);
while (1) { Mat frame; capture >> frame;
imshow("摄像头捕捉", frame);
waitKey(1); } }
另外,还可以加入 canny 边缘检测,得到 canny 边缘检测并高斯模糊后的设想有采集视频,代码如下:
#include<opencv.hpp> using namespace cv; int main() { VideoCapture capture(0); Mat edgs;
while (1) { Mat frame; capture >> frame;
cvtColor(frame, edgs,COLOR_BGR2GRAY); blur(edgs, edgs, Size(8, 8)); Canny(edgs, edgs, 0, 30, 3);
imshow("摄像头捕捉", edgs); waitKey(1); } }