python - 如何根据相机(Python)调整 OpenCV 实时视频源的纵横比
问题描述
我有 python 代码,它显示来自 usb Logitech Camera的实时视频源。下面是代码片段:
vcap = cv2.VideoCapture(1)
while (1):
ret, frame = vcap.read()
cv2.imshow('Input', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
vcap.release()
cv2.destroyAllWindows()
输出:
上面是从opencv窗口截取的截图,下面是从windows默认相机应用程序截取的照片。:
我们可以注意到默认情况下,opencv 从帧中裁剪了一些左右部分。如何从opencv中删除此功能。?
解决方案
这是关于分辨率设置的。Windows 应用程序。或 OpenCV 使用不同的分辨率。有自己的驱动程序的相机,您无法通过 OpenCV 设置其分辨率设置。
由于您的相机是网络摄像头(usb)相机,因此您可以使用set
属性。正如这里提到的。
推荐阅读
- spring - 使用 Cassandra 自行引用的用户定义类型
- python-3.x - pythonTypeError:不能将序列乘以“列表”类型的非整数
- python - 没有列选项的熊猫合并
- spring-boot - 如何运行计划并缓存某些数据列表并在请求处理程序方法上使用 Cacheable?
- android - FAILURE:构建失败并出现异常(Linphone)
- python - 带有 ICS 文件和 CSV 的 Python
- wpf - TextBox 的 IsMouseOver 触发器仅在控件的 IsFocused 触发器被触发之前起作用
- android - Android 等待 volley 完成并稍后更新 UI
- ios - Flutter iOS 谷歌地图:奇怪的出现动画
- apache-spark - Spark结构化流式丢弃重复保持最后