日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

帧差法得到运动背景图像

發布時間:2024/3/13 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 帧差法得到运动背景图像 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

本文以火災視頻為例,得到前后兩幀變化部分區域,進而可以進行運動物體檢測。

import cv2 as cv import scipy.ndimagedef medium_filter(im, x, y, step):sum_s = []for k in range(-int(step / 2), int(step / 2) + 1):for m in range(-int(step / 2), int(step / 2) + 1):sum_s.append(im[x + k][y + m])sum_s.sort()return sum_s[(int(step * step / 2) + 1)]def frame_diff(img_1, img_2, Thre):gray1 = cv.cvtColor(img_1, cv.COLOR_BGR2GRAY) # 灰度化gray1 = cv.GaussianBlur(gray1, (3, 3), 0) # 高斯濾波gray2 = cv.cvtColor(img_2, cv.COLOR_BGR2GRAY)gray2 = cv.GaussianBlur(gray2, (3, 3), 0)d_frame = cv.absdiff(gray1, gray2)ret, d_frame = cv.threshold(d_frame, Thre, 255, cv.THRESH_BINARY)result = scipy.ndimage.median_filter(d_frame, (7, 7)) # 對結果進行中值濾波return resultif __name__ == '__main__':capture = cv.VideoCapture("house5.mp4")Thre = 8 #Thre表示像素閾值ret1, frame1 = capture.read()frame2_copy = frame1while(True):frame1 = frame2_copyret2, frame2 = capture.read()if not ret2:print("... end of video file reached")breakd_frame = frame_diff(frame1, frame2, Thre)cv.namedWindow('Result of original img', 0)cv.imshow('Result of original img', frame2)cv.waitKey(2)cv.namedWindow('Result of frame diff', 0)cv.imshow('Result of frame diff', d_frame)cv.waitKey(2)frame2_copy = frame2.copy()

總結

以上是生活随笔為你收集整理的帧差法得到运动背景图像的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。