可以使用以下代码实现:

#include <opencv2/opencv.hpp>

cv::Mat getFrame(cv::VideoCapture cap) {
    cv::Mat frame;
    cap >> frame;
    return frame;
}

int main() {
    cv::VideoCapture cap("video.mp4");
    if (!cap.isOpened()) {
        std::cout << "Error opening video file" << std::endl;
        return -1;
    }

    cv::Mat frame;
    while (true) {
        frame = getFrame(cap);
        if (frame.empty()) {
            break;
        }
        // 在这里处理当前帧图像
    }

    cap.release();
    return 0;
}

getFrame 函数中,通过 cap >> frame 获取视频的下一帧图像,并将其返回。在主函数中,通过循环获取视频的每一帧图像,并在循环内部处理当前帧图像

设计opencv函数返回视频当前帧图像我需要在函数外处理当前帧图像C++

原文地址: https://www.cveoy.top/t/topic/fnxe 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录