資源簡介
基于python編寫的預(yù)測鼠標運動軌跡的py腳本,調(diào)用了numpy與OpenCV庫
代碼片段和文件信息
import?cv2
import?numpy?as?np
#?創(chuàng)建一個空幀,定義(700?700?3)畫圖區(qū)域
frame?=?np.zeros((700?700?3)?np.uint8)?
#?初始化測量坐標和鼠標運動預(yù)測的數(shù)組
last_measurement?=?current_measurement?=?np.array((2?1)?np.float32)
last_prediction?=?current_prediction?=?np.zeros((2?1)?np.float32)
#?定義鼠標回調(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?#?把當前預(yù)測存儲為上一次預(yù)測
????last_measurement?=?current_measurement?#?把當前測量存儲為上一次測量
????current_measurement?=?np.array([[np.float32(x)]?[np.float32(y)]])?#?當前測量
????kalman.correct(current_measurement)?#?用當前測量來校正卡爾曼濾波器
????current_prediction?=?kalman.predict()?#?計算卡爾曼預(yù)測值,作為當前預(yù)測
????lmx?lmy?=?last_measurement[0]?last_measurement[1]?#?上一次測量坐標
????cmx?cmy?=?current_measurement[0]?current_measurement[1]?#?當前測量坐標
????lpx?lpy?=?last_prediction[0]?last_prediction[1]?#?上一次預(yù)測坐標
????cpx?cpy?=?cu
評論
共有 條評論