Opencv入门之--二

来源:互联网 发布:php curl 大文件 编辑:程序博客网 时间:2024/04/30 23:51

视频显示之二

#include <opencv2/opencv.hpp>using namespace cv;using namespace std;int main(int argc, char **argv){    // 读入    //VideoCapture capture("picture/1.mkv");    //调用摄像头(调用了自己电脑的摄像头)    VideoCapture capture(0);    if (!capture.isOpened())    {        cout << "视频打开错误" << endl;        return -1;    }    //获取帧数    long nTotalFrame = capture.get(CV_CAP_PROP_FRAME_COUNT);    cout << "视频帧数是:" << nTotalFrame << endl;    //帧率    int frameRate = capture.get(CV_CAP_PROP_FPS);    cout << "视频帧率是:" << frameRate<<endl;    long nCount = 1; //记录帧号    //循环每一zhen    while (1)    {        cout << "当前帧号是:" << nCount << endl;        Mat frame;        capture >> frame;  //读取当前针        imshow("读取视频", frame);        if (char(waitKey(30)) == 'q') //延时30ms,//按下键盘Q,退出            break;        nCount++;    }    //释放视频    capture.release();    return 0;}

视频显示之三

主要是利用摄像头读入视频,并对视频做边缘检测

//#include <opencv2/imgproc/imgproc.hpp>#include <opencv2/opencv.hpp>using namespace cv;int main(){    //摄像头读入视频    VideoCapture capture(0);    Mat edges;    while (1)    {        Mat frame;        capture >> frame;        //将原图转换为灰度图        cvtColor(frame, edges, CV_BGR2GRAY);        imshow("灰度", edges);        //双边滤波降噪        blur(edges, edges, Size(7, 7)); //?7?2*3+1        Canny(edges, edges, 0, 30, 3);        imshow("边缘检测后的视频", edges);        if (char (waitKey(30)) == 'q')            break;    }    return 0;}
1 0
原创粉丝点击