- Notifications
You must be signed in to change notification settings - Fork122
Find object position based on python-opencv2
License
NotificationsYou must be signed in to change notification settings
NetEaseGame/aircv
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Find object position based on python-opencv2for python2.7+
import aircv as acimsrc = ac.imread('youimage.png') # 原始图像imsch = ac.imread('searched.png') # 带查找的部分
print ac.find_sift(imsrc, imsch)# - when Not found@return None # 之前是返回的 []# - when found@return {'point': (203, 245), 'rectangle': [(160, 24), (161, 66), (270, 66), (269, 24)], 'confidence': 0.09}# point: 查找到的点# rectangle: 目标图像周围四个点的坐标# confidence: 查找图片匹配成功的特征点 除以 总的特征点
print ac.find_all_sift(imsrc, imsch, maxcnt = 0)# - when not found@return []# - when found@return [{..}, {..}]# {..}的内容跟SIFT查找到单个图像的格式一样
maxcnt是可选参数,限制最多匹配的数量。
print ac.find_template(imsrc, imsch)
期望输出 (目标图片的中心点,相似度), 相似度是电脑计算出来的一个值,跟平常所说的相似97%不是一个意思。对于这个值,达到0.999以上才算是图片一样。
(294, 13), 0.9715
查找多个相同的图片,如在图形
中查找
print ac.find_all_template(imsrc, imsch)
期望输出 (目标图片的中心点,相似度)
[((294, 13), 0.9715), ...]
效果
LICENCE underMIT
importaircvimsrc=aircv.Image('demo.png')imobj=aircv.Image('object.png')printimsrc.find(imobj,method=aircv.FIND_TMPL)# or method=aircv.FIND_SIFT# expect aircv.Position(x=10, y=20, extra={'method': aircv.FIND\_TMPL, 'result': 0.98})printimobj.find_in(imsrc,method=aircv.FIND_TMPL)# expect aircv.Position(x=10, y=20)rect=aircv.Rect(left=80,top=10,width=50,height=90)# Rect define: Rect(left=0, top=0, right=None, bottom=None, width='100%', height='100%')pos=imsrc.find(imobj,rect=rect,method=aircv.FIND_TMPL)printpos# expect aircv.Position(x=10, y=20)printimsrc.draw_point(pos)# .draw_point(pos2)# expect aircv.Image objectprintimsrc.draw_rectangle(aircv.Rect(left=80))# expect aircv.Image objectprintimsrc.draw_circle(??)printimsrc.cv_object# expect numpy objectimsrc.save('source.png')# An Exception raised when file existsprintimsrc.rect()==imobj.rect()# expect True or Falseprintimsrc.percent(imobj)
About
Find object position based on python-opencv2
Resources
License
Stars
Watchers
Forks
Packages0
No packages published