摘要:前幾周搞了一個基于模板跟蹤的算法實現。但是對于模板的選取我們也需要小心點,要不然會跟蹤丟失。這個你們用了之后會發現其中的小奧秘。后期我會使用傳感器來進行對于視覺的處理,請大家耐心等待哦
前幾周搞了一個基于模板跟蹤的算法實現。即在視頻中跟蹤出模板目標
閑話不多說,直接程序給出:
# -*- coding: utf-8 -*- """ Created on Thu Jun 30 09:13:24 2016 @author: liu """ import cv2 import numpy as np from matplotlib import pyplot as plt #img = cv2.imread("xucaise.jpg",0) #template = cv2.imread("xuxu.jpg",0) template = cv2.imread("ppp.png",0) w, h = template.shape[::-1] #s1=cv2.imread("xupanmu.jpg",cv2.IMREAD_GRAYSCALE) #s1 = cv2.imread(ph1) #s2 = cv2.imread(ph2) methods = ["cv2.TM_SQDIFF_NORMED"] #methods = ["cv2.TM_CCOEFF_NORMED"]#平方差匹配法,最好的匹配為0,值越大匹配越差; cap = cv2.VideoCapture("double.mov") ret,frame = cap.read() c=0 time=10 a=1 while ret: ret ,frame = cap.read() c=c+1 if ret == True: if (c%time==0): for meth in methods: method = cv2.TM_SQDIFF_NORMED#eval(meth) cv2.imwrite("xuphoto"+str(c)+".png",frame) s2=cv2.imread("xuphoto"+str(c)+".png",0) #s2=frame #img = cv2.imread("xucaise.jpg",0) res = cv2.matchTemplate(s2,template,method) #cv2.imwrite("pp"+str(c)+".jpg",res) min_val, max_val, min_loc, max_loc = cv2.minMaxLoc(res) if method in [cv2.TM_SQDIFF, cv2.TM_SQDIFF_NORMED]: top_left = min_loc else: top_left = max_loc #top_left = max_loc bottom_right = (top_left[0] + w +100, top_left[1] + h +100 ) cv2.rectangle(s2,top_left, bottom_right, 255, 2) #cv2.imshow("img2",s2) cv2.imwrite("iphone"+str(c)+".png",s2) plt.subplot(121),plt.imshow(res,cmap = "gray") plt.title("Matching Result"), plt.xticks([]), plt.yticks([]) # cv2.imwrite("ccc"+str(c)+".jpg",res) plt.subplot(122),plt.imshow(s2,cmap = "gray") plt.title("Detected Point"), plt.xticks([]), plt.yticks([]) plt.suptitle("cv2.TM_SQDIFF_NORMED") #plt.suptitle("cv2.TM_CCOEFF_NORMED") plt.show() #k = cv2.waitKey(60) & 0xff #if k == 27: # break #pic_sub(emptyimg,s1,s2) if c>200: c=0 cv2.destroyAllWindows() cap.release()
程序目前是這些,如有看不懂的地方可以和我交流:liushengkai008@163.com
這個實現的結果就是能夠跟蹤我們選取的模板目標。但是對于模板的選取我們也需要小心點,要不然會跟蹤丟失。這個你們用了之后會發現其中的小奧秘。
后期我會使用kinnect傳感器來進行對于視覺的處理,請大家耐心等待哦
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/38116.html
摘要:將軀干圖像灰度化后經插值運算和歸一化變換為大小的矩陣,作為結構的卷積神經網絡的輸入進行個體識別。卷積神經網絡構建為減少數據量并保證輸入圖像的細節信息,將奶牛軀干圖像灰度化后通過插值計算變化為的圖像,并除以歸一化后作為輸入數據。 最近看了一個有趣的人工智能應用,給大家分享一下~這是一個人工智能與農業的結合,在農業中我們經常需要給個體動物做標記,目的是對奶牛做身份識別,然后可以對動物做養殖和繁殖...
摘要:年,軟件開發界發生了很多變化。六數據存儲是一個關系型數據庫管理系統,由瑞典公司開發,目前屬于旗下公司。最流行的關系型數據庫管理系統,在應用方面是最好的,關系數據庫管理系統應用軟件之一。七是最新的修訂版本,年月由萬維網聯盟完成標準制定。 2015年,軟件開發界發生了很多變化。有很多流行的新語言發布了,也有很多重要的框架和工具發布了新版本。下面有一個我們覺得最重要的簡短清單,同時也有我們覺...
摘要:年,軟件開發界發生了很多變化。六數據存儲是一個關系型數據庫管理系統,由瑞典公司開發,目前屬于旗下公司。最流行的關系型數據庫管理系統,在應用方面是最好的,關系數據庫管理系統應用軟件之一。七是最新的修訂版本,年月由萬維網聯盟完成標準制定。 2015年,軟件開發界發生了很多變化。有很多流行的新語言發布了,也有很多重要的框架和工具發布了新版本。下面有一個我們覺得最重要的簡短清單,同時也有我們覺...
閱讀 3197·2021-11-25 09:43
閱讀 3407·2021-11-11 16:54
閱讀 823·2021-11-02 14:42
閱讀 3741·2021-09-30 09:58
閱讀 3664·2021-09-29 09:44
閱讀 1279·2019-08-30 15:56
閱讀 2097·2019-08-30 15:54
閱讀 2985·2019-08-30 15:43