本文實(shí)例為大家分享了python+openCV利用攝像頭實(shí)現(xiàn)人員活動(dòng)檢測(cè)的具體代碼,供大家參考,具體內(nèi)容如下
1.前言
最近在做個(gè)機(jī)器人比賽,其中一項(xiàng)要求是讓機(jī)器人實(shí)現(xiàn)對(duì)是否有人員活動(dòng)的檢測(cè),所以就先拿PC端寫一下,準(zhǔn)備移植到機(jī)器人的樹莓派。
2.工具
工具還是簡(jiǎn)單的python+視覺模塊openCV,代碼量也比較少。很簡(jiǎn)單就可以實(shí)現(xiàn)
3.人員檢測(cè)的原理
從圖書館借了一本《特征提取與圖像處理(第二版)》,是Mark S.Nixon和Alberto S.Aguado寫的,其中講了跟多關(guān)于檢測(cè)圖像運(yùn)動(dòng)的方法,我們選取了最簡(jiǎn)單的一種。
說(shuō)的很高大上,簡(jiǎn)單的說(shuō)一下原理。假設(shè)有兩幀不同時(shí)間采集的圖像,檢測(cè)運(yùn)動(dòng)的最簡(jiǎn)單方法就是計(jì)算圖像差值。也就是說(shuō),通過(guò)把亮度值相減可以得到變化或者運(yùn)動(dòng);如果沒(méi)有發(fā)生運(yùn)動(dòng),相減的結(jié)果就是0;但如果圖像中的目標(biāo)作出的運(yùn)動(dòng),他們的圖像像素亮度值就會(huì)發(fā)生變化,相減結(jié)果是一個(gè)非0的值
4.開始
(1).我們開啟攝像頭模塊還是利用openCV,如下代碼即可。我們使用的是筆記本電腦自帶的攝像頭(樹莓派想直接用一個(gè)USB攝像頭插上而不是用CSI攝像頭,這樣直接移植代碼比較方便)
camera = cv2.VideoCapture(0)