北京微信网站建设电话,建设直播网站需要哪些许可证,网页传奇开服表,网址导航建站操作系统#xff1a;ubuntu22.04 OpenCV版本#xff1a;OpenCV4.9 IDE:Visual Studio Code 编程语言#xff1a;C11
算法描述
K-最近邻#xff08;K-nearest neighbours, KNN#xff09;基于的背景/前景分割算法。
该类实现了如 319中所述的 K-最近邻背景减除。如果前景… 操作系统ubuntu22.04 OpenCV版本OpenCV4.9 IDE:Visual Studio Code 编程语言C11
算法描述
K-最近邻K-nearest neighbours, KNN基于的背景/前景分割算法。
该类实现了如 319中所述的 K-最近邻背景减除。如果前景像素的数量很少则非常高效、
cv::BackgroundSubtractorKNN 是 OpenCV 中用于背景减除的一种具体实现它是 cv::BackgroundSubtractor 基类的一个派生类。该类使用 K 最近邻K-Nearest Neighbors, KNN算法来检测前景物体。KNN 方法在背景建模方面具有较好的性能特别是在处理光照变化和动态背景方面。
代码示例 #include iostream
#include opencv2/opencv.hppint 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;
}运行结果