http://blog.csdn.net/hezhen_nku/article/details/72910338
跟上文相比只是把“1.avi”换成0就可以了。
1.VideoCapture capture;
capture.open(0);
2.VideoCapture capture (0);
while(1)
{
Mat frame;//定义一个Mat变量,用于存储每一帧图像
capture>>frame;//读取当前帧
imshow("读取视频",frame);//显示当前帧
waitKey(30);//延时30ms
}
可以配合canny边缘检测
#include "opencv2/opencv.hpp"
using namespace cv;
int main()
{
VideoCapture capture(0);
Mat edges;
while(1)
{
Mat frame;//定义一个Mat变量,用于存储每一帧图像
capture>>frame;//读取当前帧
cvtColor(frame,edges,CV_BGR2GRAY);//转化rgb图像为灰度图
//这一句对应的是opencv2版本
//如果是opencv3,则是cvtColor(frame,edges,COLOR_BGR2GRAY);
blur(edges,edges,Size(7,7));//使用3x3内核来降噪,2x3+1=7,不知道为什么这么算
//上句进行了模糊
Canny(edges,edges,0,30,3);//边缘检测
imshow("被canny后的视频",edges);//显示经过处理以后的当前帧
imshow("读取视频",frame);//显示当前帧
waitKey(30);//延时30ms
}
return 0;}