Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Find object position based on python-opencv2

License

NotificationsYou must be signed in to change notification settings

NetEaseGame/aircv

Repository files navigation

Build StatusPyPI

Find object position based on python-opencv2for python2.7+

Usage

import aircv as acimsrc = ac.imread('youimage.png') # 原始图像imsch = ac.imread('searched.png') # 带查找的部分

SIFT查找图像

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: 查找图片匹配成功的特征点 除以 总的特征点

SIFT多个相同的部分查找

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

查找多个相同的图片,如在图形

template1

中查找

template2

print ac.find_all_template(imsrc, imsch)

期望输出 (目标图片的中心点,相似度)

[((294, 13), 0.9715), ...]

效果

2res

开发规范

开发规范

LICENSE

LICENCE underMIT

Some other idea. Not implemented

example

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

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp