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

opencv获取摄像头的最大分辨率图像

事情是这样的,在拼多多花了40买了一个4k高清的摄像偷,确实清楚。但是我一直以为网络摄像头分辨率只有640*480,于是用python测试了一下,上代码

import cv2def get_max_resolution(camera_index):"""获取摄像头的最大分辨率。"""cap = cv2.VideoCapture(camera_index)if not cap.isOpened():return None, Nonemax_width, max_height = 0, 0# 定义常见分辨率列表resolutions = [(640, 480),(1280, 720),(1920, 1080),(2560, 1440),(3840, 2160)]for width, height in resolutions:cap.set(cv2.CAP_PROP_FRAME_WIDTH, width)cap.set(cv2.CAP_PROP_FRAME_HEIGHT, height)actual_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))actual_height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))if actual_width == width and actual_height == height:max_width, max_height = actual_width, actual_heightcap.release()return max_width, max_heightdef find_all_cameras(max_index=10):"""遍历所有可用的摄像头并输出最大分辨率。"""cameras = []for camera_index in range(max_index):cap = cv2.VideoCapture(camera_index)if cap.isOpened():cameras.append(camera_index)cap.release()print(f"发现 {len(cameras)} 个摄像头:")for camera in cameras:max_width, max_height = get_max_resolution(camera)if max_width and max_height:print(f"摄像头 {camera} 的最大分辨率为:{max_width}x{max_height}")else:print(f"摄像头 {camera} 无法获取分辨率")def capture_image_with_maximized_window(camera_index, width, height):"""采集摄像头图像并以最大化窗口显示。"""cap = cv2.VideoCapture(camera_index)if not cap.isOpened():print(f"无法打开摄像头 {camera_index}")return# 设置摄像头分辨率cap.set(cv2.CAP_PROP_FRAME_WIDTH, width)cap.set(cv2.CAP_PROP_FRAME_HEIGHT, height)actual_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))actual_height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))print(f"实际采集的图像分辨率: 宽度={actual_width}, 高度={actual_height}")ret, frame = cap.read()if ret:# 创建窗口并最大化cv2.namedWindow("Captured Frame", cv2.WINDOW_NORMAL)cv2.resizeWindow("Captured Frame", 1920, 1080)  # 设置默认分辨率窗口大小cv2.imshow("Captured Frame", frame)# 保存图像到本地cv2.imwrite("captured_image.jpg", frame)print("图像已保存为 'captured_image.jpg'")else:print("无法采集图像")# 等待按键退出cv2.waitKey(0)cap.release()cv2.destroyAllWindows()if __name__ == "__main__":# 遍历所有摄像头并输出最大分辨率find_all_cameras()# 示例:采集第一个摄像头的图像camera_index = 0capture_width = 1920capture_height = 1080capture_image_with_maximized_window(camera_index, capture_width, capture_height)

输出为:发现 2 个摄像头:
摄像头 0 的最大分辨率为:1920x1080
摄像头 2 的最大分辨率为:1920x1080
实际采集的图像分辨率: 宽度=1920, 高度=1080

买了2个摄像头,一个2K,一个4k实际都是2k吧,请问另外的2k哪里去了

http://www.lryc.cn/news/504555.html

相关文章:

  • 23.DDD与微服务
  • Redis是什么?Redis和MongoDB的区别在那里?
  • git SSL certificate problem: unable to get local issuer certificate
  • 使用Keil V6编译 FreeRTOS CMSIS V2版本 ETH + Lwip 编译报错问题解决方式
  • 驱动开发系列30 - Linux Graphics DRM光标绘制分析
  • 如何利用Java爬虫获得淘宝买家秀
  • 【ArcGIS】基于R语言、MaxEnt模型融合技术的物种分布模拟、参数优化方法、结果分析制图与论文写作
  • 虚幻引擎C++按键绑定
  • 秒杀抢购场景下实战JVM级别锁与分布式锁
  • 【Pandas】pandas interval_range
  • 有没有办法让爬虫更加高效,比如多线程处理?
  • go-zero(十三)使用MapReduce并发
  • 【实操之 图像处理与百度api-python版本】
  • java 导出word锁定且部分内容解锁可编辑
  • SQL 在线格式化 - 加菲工具
  • 大数据法律法规——《关键信息基础设施安全保护条例》(山东省大数据职称考试)
  • 【CVE-2024-5660】ARM CPU漏洞:硬件页面聚合(HPA)安全通告
  • 数智读书笔记系列008 智人之上:从石器时代到AI时代的信息网络简史
  • 将 Ubuntu 22.04 LTS 升级到 24.04 LTS
  • 【自动驾驶】Ubuntu20.04安装ROS1 Noetic
  • (转,自阅,侵删)【LaTeX学习笔记】一文入门LaTeX(超详细)
  • css的选择器有哪些?权重由大到小是怎么排序的?
  • CTF知识集-PHP特性
  • 比特币是否会取代美元(以及其他主权货币)
  • WPF+MVVM案例实战与特效(三十七)- 实现带有水印和圆角的自定义 TextBox 控件
  • 深度学习训练参数之学习率介绍
  • 导游现场面试需要注意的问题
  • Burp suite 3 (泷羽sec)
  • LabVIEW前面板无法显示的常见原因
  • 【Syncfusion系列】Diagram 杂谈 第三篇 序列化和反序列化