ZBLOG

cap中没有getSupportedPreviewSizes函数

抱歉,我之前的回答有误。在OpenCV中,cv::VideoCapture类没有直接提供获取摄像头支持分辨率的方法。

相反,您可以使用一些操作来获取可用的分辨率选项。下面是一个示例代码:

#include <opencv2/opencv.hpp>

int main() {
    cv::VideoCapture cap(0);  // 打开默认的USB摄像头设备

    if (!cap.isOpened()) {
        std::cerr << "Failed to open camera!" << std::endl;
        return -1;
    }

    cv::Mat frame;

    // 使用不同分辨率尝试打开摄像头并获取帧
    for (int width : {640, 1280, 1920}) {
        for (int height : {480, 720, 1080}) {
            cap.set(cv::CAP_PROP_FRAME_WIDTH, width);
            cap.set(cv::CAP_PROP_FRAME_HEIGHT, height);

            // 尝试读取一帧图像
            if (cap.read(frame)) {
                std::cout << "Resolution: " << width << "x" << height << std::endl;
            }
        }
    }

    cap.release();

    return 0;
}

上述代码会依次尝试设置不同的宽度和高度值,并通过读取一帧图像来检查是否支持该分辨率。如果成功读取到帧图像,则说明该分辨率是受支持的。您可以根据需要修改示例代码以适应更多可能的分辨率选项。


内容由零声教学AI助手提供,问题来源于学员提问

本站部分文章来源于网络,版权归原作者所有,如有侵权请联系站长删除。
转载请注明出处:https://sdn.0voice.com/?id=3485

分享:
扫描分享到社交APP
上一篇
下一篇
发表列表
游客 游客
此处应有掌声~
评论列表

还没有评论,快来说点什么吧~

联系我们

在线咨询: 点击这里给我发消息

微信号:3007537140

上班时间: 10:30-22:30

关注我们
x

注册

已经有帐号?