写一份从红外摄像头拉流,然后保存为CSV文件的代码
时间: 2024-05-10 13:16:22 浏览: 117
以下是从红外摄像头拉流并保存为CSV文件的示例代码,需要使用OpenCV库:
```python
import cv2
import numpy as np
import csv
# 定义保存CSV文件的路径和文件名
csv_file_path = 'data.csv'
# 定义视频流地址
stream_link = 'rtsp://192.168.1.100:554/stream'
# 拉取视频流
cap = cv2.VideoCapture(stream_link)
# 检查视频流是否打开
if not cap.isOpened():
print("无法打开视频流!")
# 读取视频帧并保存为CSV文件
with open(csv_file_path, mode='w', newline='') as csvfile:
writer = csv.writer(csvfile)
writer.writerow(['frame_number', 'mean_intensity'])
frame_number = 0
while True:
# 读取视频帧
ret, frame = cap.read()
# 如果视频流结束,则退出循环
if not ret:
break
# 将帧转换为灰度图像
gray = cv2.cvtColor(frame, cv2.COLOR_BGR2GRAY)
# 计算灰度图像的平均强度
mean_intensity = np.mean(gray)
# 保存帧的平均强度到CSV文件
writer.writerow([frame_number, mean_intensity])
# 帧数加1
frame_number += 1
# 释放视频流
cap.release()
```
这段代码会从指定的视频流地址拉取视频流,并将每一帧的平均灰度值保存到CSV文件中。你可以根据实际需求进行修改。
阅读全文