三帧差分法python代码
时间: 2023-10-12 19:11:36 浏览: 32
以下是使用OpenCV库实现三帧差分法的Python代码:
```python
import cv2
cap = cv2.VideoCapture(0) # 摄像头输入
ret, frame1 = cap.read()
ret, frame2 = cap.read()
while True:
ret, frame3 = cap.read()
# 将图像转换为灰度图
gray1 = cv2.cvtColor(frame1, cv2.COLOR_BGR2GRAY)
gray2 = cv2.cvtColor(frame2, cv2.COLOR_BGR2GRAY)
gray3 = cv2.cvtColor(frame3, cv2.COLOR_BGR2GRAY)
# 计算第一帧和第二帧的差异
diff1 = cv2.absdiff(gray1, gray2)
# 计算第二帧和第三帧的差异
diff2 = cv2.absdiff(gray2, gray3)
# 比较两个差异图像
diff = cv2.bitwise_and(diff1, diff2)
# 二值化差异图像
thresh = cv2.threshold(diff, 25, 255, cv2.THRESH_BINARY)[1]
# 去除噪声
thresh = cv2.dilate(thresh, None, iterations=2)
thresh = cv2.erode(thresh, None, iterations=2)
# 显示结果
cv2.imshow('frame', frame3)
cv2.imshow('diff', thresh)
# 更新帧
frame1 = frame2
frame2 = frame3
if cv2.waitKey(1) & 0xFF == ord('q'):
break
cap.release()
cv2.destroyAllWindows()
```
这个代码会打开摄像头并实时显示摄像头捕捉到的图像,同时进行三帧差分法的处理并显示差异图像。按下 "q" 键可以退出程序。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![py](https://img-home.csdnimg.cn/images/20210720083646.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_lunwen.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)