資源簡介
使用前環境及庫配置
我運行的環境為Python3.6(Anaconda3)+OpenCV3,IDE:PyCharm
1.其中如果安裝Anaconda3就可以少安裝很多庫
2.如果安裝了Anaconda3,就只需要配置一個庫imutils
3.imutils安裝方法
pip install imutils
確保imutils版本大于v0.3.1
pip install –upgrade imutils可以更新版本
代碼片段和文件信息
import?cv2??
import?time??
import?datetime??
import?os??
import?easygui??
??
def?mkdir(path):??
????folder?=?os.path.exists(path)??
??
????if?not?folder:??#?判斷是否存在文件夾如果不存在則創建為文件夾??
????????os.makedirs(path)??#?makedirs?創建文件時如果路徑不存在會創建這個路徑??
????????print??
????????(“---??new?folder...??---“)??
????????print??
????????(“---??OK??---“)??
??
????else:??
????????print??
????????(“---??There?is?this?folder!??---“)??
??
??
file?=?“D:\\CCTVlook“#保存位置??
mkdir(file)??
print(“文件儲存于D:\\CCTVlook“)??
#?選取攝像頭,0為筆記本內置的攝像頭,12···為外接的攝像頭??
camera=cv2.VideoCapture(0)??
title?=?easygui.msgbox(msg=“將于5s后開始記錄攝像頭移動情況!““\n““請離開保證背景穩定““\n“??
???????????????????????????title=“運動檢測追蹤拍照“ok_button=“開始執行“)??
msg=easygui.msgbox(msg=“移動物體保存于D:\\CCTVlook“)??
time.sleep(5)#延遲5s執行??
background?=?None#初始化背景?
def?nothing(x):??
????pass??
??
cv2.namedWindow(“fps“)??#新建一個窗口??
cv2.createTrackbar(‘level‘‘fps‘21255nothing)????#新建閾值滑動條??
shot_idx?=?0??
#?initialize?the?HOG?descriptor/person?detector
hog?=?cv2.HOGDescriptor()
hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector())
while?True:??
????text?=?“No?Target“??
????flat=0??
????#?滑動條賦值??
????kerne?=?cv2.getTrackbarPos(‘level‘?‘fps‘)??
????if?kerne%2==0?:??
????????kerne=kerne+1#解決滑動條賦值到高斯濾波器是偶數異常拋出??
????(grabbed?frame)?=?camera.read()??
????#?對幀進行預處理,先轉灰度圖,再進行高斯濾波。??
????#?用高斯濾波對圖像處理,避免亮度、震動等參數微小變化影響效果??
????gray?=?cv2.cvtColor(frame?cv2.COLOR_BGR2GRAY)??
????gray?=?cv2.GaussianBlur(gray?(kerne?kerne)?0)??
????#?將第一幀設置為整個輸入的背景??
????if?background?is?None:??
????????background?=?gray??
????????continue??
????#?當前幀和第一幀的不同它可以把兩幅圖的差
- 上一篇:WordCloud
- 下一篇:基于用戶協同過濾usercf的python代碼實現
評論
共有 條評論