摘要:前几周搞了一个基于模板跟踪的算法实现。但是对于模板的选取我们也需要小心点,要不然会跟踪丢失。这个你们用了之后会发现其中的小奥秘。后期我会使用传感器来进行对于视觉的处理,请大家耐心等待哦
前几周搞了一个基于模板跟踪的算法实现。即在视频中跟踪出模板目标
闲话不多说,直接程序给出:
# -*- 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传感器来进行对于视觉的处理,请大家耐心等待哦
文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。
转载请注明本文地址:https://www.ucloud.cn/yun/38116.html
摘要:将躯干图像灰度化后经插值运算和归一化变换为大小的矩阵,作为结构的卷积神经网络的输入进行个体识别。卷积神经网络构建为减少数据量并保证输入图像的细节信息,将奶牛躯干图像灰度化后通过插值计算变化为的图像,并除以归一化后作为输入数据。 最近看了一个有趣的人工智能应用,给大家分享一下~这是一个人工智能与农业的结合,在农业中我们经常需要给个体动物做标记,目的是对奶牛做身份识别,然后可以对动物做养殖和繁殖...
摘要:年,软件开发界发生了很多变化。六数据存储是一个关系型数据库管理系统,由瑞典公司开发,目前属于旗下公司。最流行的关系型数据库管理系统,在应用方面是最好的,关系数据库管理系统应用软件之一。七是最新的修订版本,年月由万维网联盟完成标准制定。 2015年,软件开发界发生了很多变化。有很多流行的新语言发布了,也有很多重要的框架和工具发布了新版本。下面有一个我们觉得最重要的简短清单,同时也有我们觉...
摘要:年,软件开发界发生了很多变化。六数据存储是一个关系型数据库管理系统,由瑞典公司开发,目前属于旗下公司。最流行的关系型数据库管理系统,在应用方面是最好的,关系数据库管理系统应用软件之一。七是最新的修订版本,年月由万维网联盟完成标准制定。 2015年,软件开发界发生了很多变化。有很多流行的新语言发布了,也有很多重要的框架和工具发布了新版本。下面有一个我们觉得最重要的简短清单,同时也有我们觉...
阅读 3218·2021-11-25 09:43
阅读 3425·2021-11-11 16:54
阅读 853·2021-11-02 14:42
阅读 3782·2021-09-30 09:58
阅读 3686·2021-09-29 09:44
阅读 1299·2019-08-30 15:56
阅读 2115·2019-08-30 15:54
阅读 3003·2019-08-30 15:43