您的位置:首页 > 运维架构

OpenCV实现读取摄像头做实时边缘检测

2015-04-29 11:50 501 查看
下面是使用OpenCV实现读取摄像头并做实时边缘检测(灰度转换、高斯模糊、Canny边缘检测)的事例代码。

//包含头文件
#include <opencv2/highgui/highgui.hpp>
#include <opencv2/imgproc/imgproc.hpp>
#include <opencv2/core/core.hpp>

//使用命名空间
using namespace cv;

int main()
{
VideoCapture cap(0);//VideoCapture类用法:1.VideoCapture(const string& filename)打开视频文件;2.VideoCapture(int device)打开设备。
if (!cap.isOpened())//检测VideoCapture类是否打开成功
{
return -1;//打开失败返回值
}

//定义变量类
Mat mFrame;
Mat mEdges;

//定义控制变量
bool bStop = false;//控制变量初始化
while (!bStop)//开始
{
cap >> mFrame;

cvtColor(mFrame, mEdges, CV_BGR2GRAY);//图像转换为灰度
GaussianBlur(mEdges, mEdges, Size(7, 7), 1.5, 1.5);//高斯滤波
Canny(mEdges, mEdges, 0, 30, 3);//边缘检测

imshow("camera", mEdges);//显示

if (waitKey(30) >= 0)//检测用户按键
{
bStop = true;//更改控制变量
}
}
return 0;//结束返回
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: