Skip to main content

No project description provided

Project description

gooder-cv

基于python-opencv2查找图像中对象位置

Find object position based on python-opencv2 for python2.7+

Usage

import gooder_cv as ac
imsrc = 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 under MIT

Some other idea. Not implemented

example

import gooder_cv

imsrc = gooder_cv.Image('demo.png')
imobj = gooder_cv.Image('object.png')

print(imsrc.find(imobj, method=gooder_cv.FIND_TMPL))  # or method=gooder_cv.FIND_SIFT
# expect gooder_cv.Position(x=10, y=20, extra={'method': gooder_cv.FIND\_TMPL, 'result': 0.98})

print(imobj.find_in(imsrc, method=gooder_cv.FIND_TMPL))
# expect gooder_cv.Position(x=10, y=20)

rect = gooder_cv.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=gooder_cv.FIND_TMPL)
print(pos)
# expect gooder_cv.Position(x=10, y=20)

print(imsrc.draw_point(pos))  # .draw_point(pos2)
# expect gooder_cv.Image object

print(imsrc.draw_rectangle(gooder_cv.Rect(left=80)))
# expect gooder_cv.Image object

print(imsrc.draw_circle('??'))

print(imsrc.cv_object)
# expect numpy object

imsrc.save('source.png')
# An Exception raised when file exists

print(imsrc.rect() == imobj.rect())
# expect True or False

print(imsrc.percent(imobj))

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

gooder_cv-1.2.1-py3-none-any.whl (8.2 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page