不用显示在屏幕上,直接保存,并在保存照片后结束进程
时间: 2024-03-24 08:40:17 浏览: 106
可以将显示图片的代码和等待键盘输入的代码删除,仅保留保存图片的代码。修改后的代码如下:
```python
import socket
import numpy as np
import cv2
server_ip = '10.132.11.225'
server_port = 8000
buffer_size = 65536
server_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket.bind((server_ip, server_port))
server_socket.listen(5)
print('Server is listening...')
num_photos = 0 # 记录接收到的照片数量
max_photos = 10 # 最大保存的照片数量
while num_photos < max_photos:
client_socket, client_address = server_socket.accept()
print('Connected by', client_address)
data = b''
while True:
packet = client_socket.recv(buffer_size)
if not packet:
break
data += packet
img_bytes = np.frombuffer(data, dtype=np.uint8)
img = cv2.imdecode(img_bytes, cv2.IMREAD_COLOR)
cv2.imwrite(f'photo_{num_photos}.jpg', img) # 保存照片
num_photos += 1 # 接收到的照片数量加1
server_socket.close()
```
这样,当接收到客户端发送的照片时,程序会将其保存到本地文件中,并将接收到的照片数量加1。当接收到的照片数量达到最大值时,程序会退出。
阅读全文