資源簡(jiǎn)介
基于python編寫的預(yù)測(cè)鼠標(biāo)運(yùn)動(dòng)軌跡的py腳本,調(diào)用了numpy與OpenCV庫
代碼片段和文件信息
import?cv2
import?numpy?as?np
#?創(chuàng)建一個(gè)空幀,定義(700?700?3)畫圖區(qū)域
frame?=?np.zeros((700?700?3)?np.uint8)?
#?初始化測(cè)量坐標(biāo)和鼠標(biāo)運(yùn)動(dòng)預(yù)測(cè)的數(shù)組
last_measurement?=?current_measurement?=?np.array((2?1)?np.float32)
last_prediction?=?current_prediction?=?np.zeros((2?1)?np.float32)
#?定義鼠標(biāo)回調(diào)函數(shù),用來繪制跟蹤結(jié)果
def?mousemove(event?x?y?s?p):
????global?frame?current_measurement?measurements?last_measurement?current_prediction?last_prediction
????last_prediction?=?current_prediction?#?把當(dāng)前預(yù)測(cè)存儲(chǔ)為上一次預(yù)測(cè)
????last_measurement?=?current_measurement?#?把當(dāng)前測(cè)量存儲(chǔ)為上一次測(cè)量
????current_measurement?=?np.array([[np.float32(x)]?[np.float32(y)]])?#?當(dāng)前測(cè)量
????kalman.correct(current_measurement)?#?用當(dāng)前測(cè)量來校正卡爾曼濾波器
????current_prediction?=?kalman.predict()?#?計(jì)算卡爾曼預(yù)測(cè)值,作為當(dāng)前預(yù)測(cè)
????lmx?lmy?=?last_measurement[0]?last_measurement[1]?#?上一次測(cè)量坐標(biāo)
????cmx?cmy?=?current_measurement[0]?current_measurement[1]?#?當(dāng)前測(cè)量坐標(biāo)
????lpx?lpy?=?last_prediction[0]?last_prediction[1]?#?上一次預(yù)測(cè)坐標(biāo)
????cpx?cpy?=?cu
評(píng)論
共有 條評(píng)論