使用python的opencv调取摄像头展示出来并拍照的代码
时间: 2023-08-31 20:26:28 浏览: 133
Opencv打开摄像头并拍照的源码实例
### 回答1:
下面是使用 Python OpenCV 调取摄像头并进行拍照的代码示例:
```
import cv2
# 调用摄像头
cap = cv2.VideoCapture(0)
while True:
# 获取每一帧图像
ret, frame = cap.read()
cv2.imshow("Camera", frame)
# 按 's' 键保存图片
if cv2.waitKey(1) & 0xFF == ord('s'):
cv2.imwrite("capture.jpg", frame)
break
# 释放摄像头资源
cap.release()
cv2.destroyAllWindows()
```
代码中,通过 `cv2.VideoCapture(0)` 调用摄像头,并通过 `cap.read()` 获取每一帧图像。使用 `cv2.imshow` 函数将图像显示在窗口上,按下 's' 键保存图片,最后使用 `cap.release()` 释放摄像头资源。
### 回答2:
使用Python和OpenCV调用摄像头并展示出来,以及拍照的代码如下:
首先,我们需要导入需要使用的库:
```python
import cv2
```
接下来,我们使用`cv2.VideoCapture()`函数打开摄像头:
```python
cap = cv2.VideoCapture(0)
```
然后,我们使用一个while循环来不断读取摄像头的每一帧:
```python
while True:
ret, frame = cap.read()
cv2.imshow("Camera", frame)
if cv2.waitKey(1) == ord('q'):
break
```
在每一帧中,我们使用`cv2.imshow()`函数来展示摄像头的内容。我们还使用`cv2.waitKey(1)`函数来等待键盘输入。如果按下了"q"键,我们就会跳出循环。
最后,我们释放摄像头并关闭窗口:
```python
cap.release()
cv2.destroyAllWindows()
```
为了实现拍照功能,我们可以在循环中加入一个判断条件,当按下"Space"键时保存当前帧为图片:
```python
while True:
ret, frame = cap.read()
cv2.imshow("Camera", frame)
if cv2.waitKey(1) == ord('q'):
break
elif cv2.waitKey(1) == ord(' '):
cv2.imwrite('photo.jpg', frame)
break
```
这样,当我们按下"Space"键时,会将当前帧保存为名为`photo.jpg`的图片文件。
完整代码如下:
```python
import cv2
cap = cv2.VideoCapture(0)
while True:
ret, frame = cap.read()
cv2.imshow("Camera", frame)
if cv2.waitKey(1) == ord('q'):
break
elif cv2.waitKey(1) == ord(' '):
cv2.imwrite('photo.jpg', frame)
break
cap.release()
cv2.destroyAllWindows()
```
希望这对你有所帮助!
阅读全文