基于OpenCV的视频Canny边缘检测

先读取视频,再将视频的每一帧图片灰度化,然后进行模糊降噪,再然后进行Canny边缘检测,输出每一帧画面。

/**
 *Copyright (c) 2018 Young Fan.All Right Reserved.
 *Filename: 7 对视频进行Canny边缘检测
 *Author: Young Fan
 *Date: 2018.4.1
 *OpenCV version: 3.4.1
 *IDE: Visual Studio 2017
 *Description: 对视频进行Canny边缘检测
 */

#include<opencv2/opencv.hpp>
#include<iostream>
using namespace cv;
using namespace std;

int main()
{
    //读视频
    VideoCapture capture("1.avi");
    //循环显示每一帧
    int n = 0;
    while (n < 10000000000)
    {
        n++;

        Mat frame;
        //读入每一帧图像
        capture >> frame;

        imshow("原视频",frame);
        //将原视频转换为灰度图像
        Mat edge;
        cvtColor(frame,edge,COLOR_BGR2GRAY);//RGB彩图转为灰度图

        //使用3x3内核来降噪(2x3+1 = 7)
        blur(edge,edge,Size(7,7));//进行模糊降噪

        //进行Canny边缘检测
        Canny(edge,edge,0,30,3);
        imshow("被Canny边缘检测后的视频",edge);//显示处理后的当前帧
        waitKey(30);
        cout << "边缘检测第"<< n << "帧画面..."<< endl;
    }
    return 0;
}

效果图:

这里写图片描述

  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值