电脑摄像头在opencv的运用

news/2024/7/21 5:49:24 标签: opencv, 摄像头, 图像处理
#include <iostream>
#include <opencv2/opencv.hpp>

using namespace std;
using namespace cv;

Mat ProcessImage(Mat source)
{
    Mat res;
    //把彩色图转换成灰度图//
    cvtColor(source, res, CV_BGR2GRAY);
    //模糊化//
    blur(res, res, Size(7, 7));
    //边缘化//
    Canny(res, res, 0, 30, 3);

    //高斯模糊//
    //GaussianBlur(source, res, Size(3,3),0,0,BORDER_DEFAULT);
    //灰度化//
    //cvtColor(res, res, CV_RGB2GRAY);
    //Sobel算子//
    //Sobel(res, res, CV_16S, 0, 1, 3, 1, 1, BORDER_DEFAULT);
    //convertScaleAbs(res, res);
    //二值化处理//
    threshold(res, res, 0, 255, CV_THRESH_OTSU + CV_THRESH_BINARY);
    //闭环处理//
    //morphologyEx(res, res, cv::MORPH_CLOSE, getStructuringElement(MORPH_RECT,
    //  Size(17, 5)));

    return res;
}

int main()
{
    //打开索引为0的系统摄像头//
    VideoCapture capture(0);

    //检测摄像头是否打开//
    if (!capture.isOpened())
    {
        cout << "No open..." << endl;
        return -1;
    }

    //定义结果集//
    Mat resultMat;

    //每隔30ms获取一次图片数据//
    while (1)
    {
        //获取一帧的图片数据集//
        Mat frame;
        capture >> frame;
        //检测数据集是否为空//
        if (frame.empty())
        {
            cout << "No frame..." << endl;
        }
        else
        {
            //对图片数据集进行处理//
            resultMat = ProcessImage(frame);

            //显示处理后的图片//
            imshow("result", resultMat);

            //显示原图//
            imshow("source", frame);
        }
        waitKey(30);
    }

}

http://www.niftyadmin.cn/n/1636558.html

相关文章

素数p阶群乘法循环群啥意思_抽象代数五:循环群

定义1.5.1&#xff0c;设 为群&#xff0c;若 使得 则 为循环群。记为 .我们称 为生成元。其实我们知道对任何 (由于群对运算封闭&#xff09;,也就是说循环群其实是 。例1. , 为其生成元。2. 对乘法成循环群&#xff0c;本原根为生成元。 如&#xff1a; , 为生成元以 为生成元…

在Ubuntu下安装eclipse C++

下载JDK和Eclipse http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html http://www.eclipse.org/downloads/eclipse-packages/ 解压 sudo tar -xvzf jdk-8u171-linux-x64.tar.gz -C /opt/jvm sudo tar -xvzf eclipse-cpp-oxygen-3a-…

适配iOS7之—UITableView和UISearchBar

iOS7中&#xff0c;如果用UITableViewStyleGrouped的话&#xff0c;里面的cell会比原来的拉长了&#xff0c;这样做应该是为了统一和UITableViewStylePlain风格时cell的大小一致&#xff0c;所以改用UITableViewStylePlain后&#xff0c;就没问题了&#xff0c;而且在iOS7中&am…

打开高级安全防火墙管理单元提示0x6D9错误

打开服务管理 输入指令 services.msc 右键打开属性页 改为手动->应用->启动

在C++中使用LUA

文章目录LUA库的编译常规配置指定输出目录修改为静态库在共享DLL中使用MFC在预编译器中定义LUA_BUILD_AS_DLL编译生成liblua.lib库的使用配置引用初始化LUA状态机执行LUA脚本中的函数脚本展示LUA库的编译 常规配置 指定输出目录 便于后期使用 修改为静态库 便于开发中的头文…

ubuntu 12.04 64位环境下编译cm 10.1 for mako

转载请声明出处。 http://www.cnblogs.com/csonezp/archive/2013/03/21/2974071.html 无图无排版&#xff0c;基本纯文字。 首先提供我这次编译过程的参考来源&#xff1a; 1&#xff0c;android官方指南&#xff1a;http://source.android.com/source/index.html 2&#xff0c…

VS写好枚举后生成switch语句

编写枚举 enum MY_ACTION {ACTION_1,ACTION_2,ACTION_3,ACTION_4, }; 写好switch语句 switch (action) { } 在action处快速双击 Tab键 switch (action){case ACTION_1:break;case ACTION_2:break;case ACTION_3:break;case ACTION_4:break;default:break;}