zoukankan      html  css  js  c++  java
  • opencv

    第一个opencv,显示图片

    #include<iostream>
    #include <opencv2/core/core.hpp>
    #include <opencv2/highgui/highgui.hpp>
    using namespace cv;
    int main()
    {
    // 读入一张图片(游戏原画)
    Mat img = imread("E://3.jpg");
    // 在窗口中显示游戏原画
    imshow("游戏原画", img);
    // 等待6000 ms后窗口自动关闭
    waitKey(6000);
    }

    第二个opencv,图片腐蚀

    #include <opencv2/core/core.hpp>
    #include <opencv2/highgui/highgui.hpp>
    #include <opencv2/imgproc/imgproc.hpp>
    using namespace cv;

    int main()
    {
    //载入原图
    Mat srcImage = imread("E://3.jpg");
    //显示原图
    imshow("原图腐蚀操作",srcImage);
    //腐蚀操作
    Mat element = getStructuringElement(MORPH_RECT, Size(15, 15));
    Mat dstImage;
    erode(srcImage, dstImage, element);
    //显示图片效果
    imshow("效果图腐蚀操作", dstImage);
    waitKey(0);
    }

    第三个opencv,图像模糊

    #include <opencv2/core/core.hpp> 
    #include <opencv2/highgui/highgui.hpp> 
    #include <opencv2/imgproc/imgproc.hpp>
    using namespace cv;
    int main()
    {
    //载入图片
    Mat srcImage = imread("E://3.jpg");
    //显示原始图片
    imshow("原图", srcImage);
    //进行均值滤波操作
    Mat dstImage;
    blur(srcImage, dstImage, Size(7, 7));
    //显示效果图
    imshow("效果图", dstImage);
    waitKey(0);
    }

    第四个opencv,canny边缘检测

    #include <opencv2/core/core.hpp> 
    #include <opencv2/highgui/highgui.hpp> 
    #include <opencv2/imgproc/imgproc.hpp>
    using namespace cv;

    int main()
    {
    //载入图片
    Mat srcImage = imread("E://3.jpg");
    //显示原图
    imshow("原图",srcImage);
    //参数定义
    Mat edge, grayImage;
    //【1】将原图转换为灰度图像
    cvtColor(srcImage, grayImage, CV_BGR2GRAY);
    //【2】先使用3*3内核来降噪
    blur(grayImage, edge, Size(3, 3));
    //【3】运行canny算子
    Canny(edge,edge,3,9,3);
    //显示效果图
    imshow("效果图", edge);
    waitKey(0);
    return 0;
    }

    opencv读取播放视频

    #include <opencv2/core/core.hpp>
    #include <opencv2/highgui/highgui.hpp>
    #include <opencv2/imgproc/imgproc.hpp>
    using namespace cv;

    int main()
    {
    //【1】读入视频
    VideoCapture capture("E://video1.mp4");
    //【2】循环显示每一帧
    while (1)
    {
    Mat frame;//定义变量
    capture >> frame;//读取当前帧

    //若视频播放完成,退出循环
    if (frame.empty())
    {
    break;
    }
    imshow("读视频", frame);//显示当前帧
    waitKey(30);//延时30ms
    }
    return 0;
    }

    调用摄像头采集图像

    #include <opencv2/core/core.hpp>
    #include <opencv2/highgui/highgui.hpp>
    #include <opencv2/imgproc/imgproc.hpp>
    using namespace cv;

    int main()
    {
    //【1】从摄像头读入视频
    VideoCapture capture(0);
    //【2】循环显示每一帧
    while (1)
    {
    Mat frame;//定义一个Mat变量,用于存储每一帧的图像
    capture >> frame;//拂去当前帧
    imshow("读取视频",frame);
    waitKey(30);
    }
    return 0;
    }

    canny边缘检测后的视频

    int main()
    {
    //从摄像头读入视频
    VideoCapture capture(0);
    Mat edges;
    //循环每一帧
    while (1)
    {
    //【1】读入图像
    Mat frame;
    capture >> frame;//读取当前帧
    //【2】将图片转换为灰度图像
    cvtColor(frame, edges, COLOR_BGR2GRAY);//转化BGR彩色图为灰度图
    //【3】3*3内核降噪
    blur(edges, edges, Size(7, 7));
    //【4】进行canny边缘检测并显示
    Canny(edges, edges, 0, 30, 3);
    imshow("canny后的视频",edges);
    if (waitKey(30) >= 0) break;//延时30ms
    }
    return 0;
    }

  • 相关阅读:
    7 -- Spring的基本用法 -- 11... 基于XML Schema的简化配置方式
    7 -- Spring的基本用法 -- 10... 获取其他Bean的属性值;获取Field值;获取任意方法的返回值
    Java 代码块:静态代码块、构造代码块、构造函数块
    MyBatis Like
    7 -- Spring的基本用法 -- 9...容器中Bean的生命周期
    my-small.ini、my-medium.ini、my-large.ini、my-huge.ini文件的作用
    java.lang.Class<T> -- 反射机制及动态代理
    7 -- Spring的基本用法 -- 8... 抽象Bean与子Bean;Bean继承与Java继承的区别;容器中的工厂Bean;获得Bean本身的id;强制初始化Bean
    Eclipse Maven 配置setting.xml 的镜像远程仓库
    7 -- Spring的基本用法 -- 7... 创建Bean的3种方式
  • 原文地址:https://www.cnblogs.com/j657521265/p/7337735.html
Copyright © 2011-2022 走看看