opencv-python 修改摄像头图片尺寸
时间: 2023-07-24 07:38:26 浏览: 231
你可以使用 OpenCV-Python 库中的 resize() 函数来修改摄像头图片的尺寸。resize() 函数有三个参数:输入图像、输出图像大小和插值方法。下面是一个简单的例子:
```python
import cv2
cap = cv2.VideoCapture(0)
while True:
ret, frame = cap.read()
# 修改图片尺寸为 640x480
resized_frame = cv2.resize(frame, (640, 480), interpolation=cv2.INTER_LINEAR)
cv2.imshow('Resized Frame', resized_frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
```
在上面的代码中,我们首先打开摄像头并读取每一帧。然后,我们使用 resize() 函数将每一帧缩放为大小为 640x480 的图像。最后,我们将缩放后的图像显示在屏幕上,并等待用户按下 'q' 键退出程序。
请注意,这只是一个简单的示例,你可以根据自己的需求修改尺寸和插值方法。
相关问题
opencv-python写入视频
在OpenCV-Python中,你可以使用`cv2.VideoWriter`函数来创建并写入视频文件。以下是基本步骤:
1. 首先,你需要安装必要的库,如果还没有安装,可以使用pip安装:
```
pip install opencv-python
```
2. 导入所需的模块:
```python
import cv2
```
3. 创建`VideoWriter`对象,并指定输出视频的路径、编码器、帧率、尺寸等信息。例如,保存分辨率为640x480的MP4视频,帧率为30fps:
```python
fourcc = cv2.VideoWriter_fourcc(*'mp4v') # 使用合适的编码器,如'mp4v', 'avi'等
out = cv2.VideoWriter('output.mp4', fourcc, 30, (640, 480))
```
4. 现在你可以在循环中捕获图像数据(如摄像头或读取图片),然后将其添加到视频流中:
```python
for i in range(num_frames):
frame = ... # 捕获或生成一帧图像
out.write(frame) # 将帧写入视频
```
5. 当所有帧都处理完后,记得关闭输出视频:
```python
out.release()
```
opencv-pyhton
### OpenCV Python 使用教程
#### 摄像头调用实例
为了展示如何利用 OpenCV 进行摄像头视频流捕获,在 Python 中可以采用如下方式实现:
```python
import cv2
cap = cv2.VideoCapture(0)
while True:
ret, frame = cap.read()
if not ret:
break
gray_frame = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
cv2.imshow('Gray Frame', gray_frame)
key = cv2.waitKey(1)
if key & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
```
上述代码展示了基本的读取摄像头帧并将其转换成灰度图像显示的过程[^1]。
#### 图像处理基础功能
OpenCV 提供了一系列用于图像变换的方法,比如调整大小、旋转以及翻转等操作。下面是一个简单的例子来说明这些方法的应用:
```python
image = cv2.imread('example.jpg')
resized_image = cv2.resize(image, (new_width, new_height))
rotated_image = cv2.rotate(image, cv2.ROTATE_90_CLOCKWISE)
flipped_image = cv2.flip(image, flipCode=1) # 1 表示水平翻转;0 表示垂直翻转;-1 同时表示水平和垂直翻转
cv2.imwrite('output_resized.png', resized_image)
cv2.imwrite('output_rotated.png', rotated_image)
cv2.imwrite('output_flipped.png', flipped_image)
```
这段脚本实现了加载图片文件,并对其进行尺寸改变、顺时针方向上的九十度角旋转和平移镜像的操作。
阅读全文