用python写一个语音控制拍照
时间: 2024-04-21 21:22:47 浏览: 12
当然可以!你可以使用Python的`pyaudio`库来录制音频,然后使用Python的`opencv`库来控制摄像头拍照。下面是一个简单的示例代码:
```python
import cv2
import pyaudio
import wave
def record_audio(filename, duration):
CHUNK = 1024
FORMAT = pyaudio.paInt16
CHANNELS = 1
RATE = 44100
p = pyaudio.PyAudio()
stream = p.open(format=FORMAT,
channels=CHANNELS,
rate=RATE,
input=True,
frames_per_buffer=CHUNK)
frames = []
for i in range(0, int(RATE / CHUNK * duration)):
data = stream.read(CHUNK)
frames.append(data)
stream.stop_stream()
stream.close()
p.terminate()
wf = wave.open(filename, 'wb')
wf.setnchannels(CHANNELS)
wf.setsampwidth(p.get_sample_size(FORMAT))
wf.setframerate(RATE)
wf.writeframes(b''.join(frames))
wf.close()
def capture_photo(filename):
cap = cv2.VideoCapture(0)
ret, frame = cap.read()
if ret:
cv2.imwrite(filename, frame)
cap.release()
if __name__ == "__main__":
audio_filename = "audio.wav"
photo_filename = "photo.jpg"
# 录制音频
record_audio(audio_filename, 5)
# 控制摄像头拍照
capture_photo(photo_filename)
print("拍照完成!")
```
这个代码将会录制一个5秒钟的音频,并将其保存为名为`audio.wav`的文件,然后通过控制摄像头拍摄一张照片,并将其保存为名为`photo.jpg`的文件。你可以根据需要修改文件名和录制音频的持续时间。请确保你的计算机上安装了`pyaudio`和`opencv`库。