当前位置: 首页 > article >正文

OpenCV视觉分析之运动分析(2)背景减除类:BackgroundSubtractorKNN的使用

  • 操作系统:ubuntu22.04
  • OpenCV版本:OpenCV4.9
  • IDE:Visual Studio Code
  • 编程语言:C++11

算法描述

K-最近邻(K-nearest neighbours, KNN)基于的背景/前景分割算法。

该类实现了如 319中所述的 K-最近邻背景减除。如果前景像素的数量很少,则非常高效、

cv::BackgroundSubtractorKNN 是 OpenCV 中用于背景减除的一种具体实现,它是 cv::BackgroundSubtractor 基类的一个派生类。该类使用 K 最近邻(K-Nearest Neighbors, KNN)算法来检测前景物体。KNN 方法在背景建模方面具有较好的性能,特别是在处理光照变化和动态背景方面。

代码示例


#include <iostream>
#include <opencv2/opencv.hpp>

int main( int argc, char** argv )
{
    // 创建一个 BackgroundSubtractorKNN 对象
    cv::Ptr< cv::BackgroundSubtractor > pBackSub = cv::createBackgroundSubtractorKNN();

    // 设置参数
  

    // 打开视频文件
    cv::VideoCapture capture( 0 );
    if ( !capture.isOpened() )
    {
        std::cerr << "Failed to open video file." << std::endl;
        return -1;
    }

    // 读取每一帧并处理
    cv::Mat frame, fgMask;
    while ( capture.read( frame ) )
    {
        // 应用背景减除
        pBackSub->apply( frame, fgMask );

        // 显示结果
        cv::imshow( "Frame", frame );
        cv::imshow( "FG Mask", fgMask );

        // 按 'q' 键退出
        if ( cv::waitKey( 30 ) == 'q' )
        {
            break;
        }
    }

    // 释放资源
    capture.release();
    cv::destroyAllWindows();

    return 0;
}

运行结果

在这里插入图片描述


http://www.kler.cn/news/364559.html

相关文章:

  • Modbus TCP报错:Response length is only 0 bytes
  • H7-TOOL的LUA小程序教程第15期:电压,电流,NTC热敏电阻以及4-20mA输入(2024-10-21,已经发布)
  • springboot诊所就医系统-计算机毕业设计源码16883
  • 装了Ubuntu和Windows双系统,如何设置默认启动Windows
  • Jackson Json序列化反序列化的两个坑
  • 【芯片设计】DC综合retiming策略的学习与实践
  • 缓存雪崩是什么
  • SparseRCNN 模型,用于目标检测任务
  • 云计算行业应用实训室建设方案
  • es 常用命令(已亲测)
  • Unity编辑器 连接不到SteamVR问题记录
  • 一个批量输出PDF页数的python程序
  • 常用MQ组件选型时需要考虑的问题
  • 独家大模型经典面试秘籍:问题答案超详细,收藏此文就够咯
  • AnaTraf | 探讨TCP握手时延
  • JavaScript正则表达式利器:exec()方法深度解析与应用实例
  • pnpm : 无法加载文件...
  • 用户画像中不同机器学习模型的优缺点和适用场景
  • Apache Flink 2.0-preview released
  • 如何在Debian操作系统上安装Docker
  • 每日回顾:简单用C写 归并排序
  • 光通信——前传基本架构
  • Next.js14快速上手
  • spark sql 广播模式参数
  • 二叉树的性质
  • 基于Springboot在线视频网站的设计与实现