C++面试八股文(opencv step3)

1. cv::VideoCapture() 的作用 & 从摄像头捕获视频

  • 作用VideoCapture 类用于打开视频文件或摄像头,并读取视频帧。
  • 摄像头捕获示例
#include <opencv2/opencv.hpp>
using namespace cv;

int main() {
    // 0 表示打开默认摄像头,1/2 表示其他摄像头
    VideoCapture cap(0);  
    if(!cap.isOpened()) {
        std::cout << "无法打开摄像头" << std::endl;
        return -1;
    }

    Mat frame;
    while(true) {
        cap >> frame; // 读取一帧
        if(frame.empty()) break;

        imshow("Camera", frame);

        // 按 ESC 键退出
        if(waitKey(30) == 27) break;
    }
    return 0;
}

2. 背景减除 (Background Subtraction)

  • 概念:用于从视频中提取运动目标,常用于监控和目标检测。
  • 示例
Ptr<BackgroundSubtractor> pBackSub = createBackgroundSubtractorMOG2();
VideoCapture cap(0);
Mat frame, fgMask;

while(cap.read(frame)) {
    pBackSub->apply(frame, fgMask); // 更新背景模型并提取前景

    imshow("Frame", frame);
    imshow("Foreground Mask", fgMask);

    if(waitKey(30) == 27) break;
}

3. 在图像上绘制圆形和矩形

Mat img = Mat::zeros(400, 400, CV_8UC3);

// 绘

剩余60%内容,订阅专栏后可继续查看/也可单篇购买

C++八股文全集 文章被收录于专栏

本专栏系统梳理C++技术面试核心考点,涵盖语言基础、面向对象、内存管理、STL容器、模板编程及经典算法。从引用指针、虚函数表、智能指针等底层原理,到继承多态、运算符重载等OOP特性从const、static、inline等关键字辨析,到动态规划、KMP算法、并查集等手写实现。每个知识点以面试答题形式呈现,注重原理阐述而非冗长代码,帮助你快速构建完整知识体系,从容应对面试官提问,顺利拿下offer。

全部评论

相关推荐

评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务