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

If you're not sure about the file name format, learn more about wheel file names.

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

Uploaded Python 3

File details

Details for the file gooder_cv-1.2.1-py3-none-any.whl.

File metadata

  • Download URL: gooder_cv-1.2.1-py3-none-any.whl
  • Upload date:
  • Size: 8.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.10.6

File hashes

Hashes for gooder_cv-1.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f3029985d023a97e57ee2f7848f73f9b1c5203fee1296ea27bc8563abf8cfd4b
MD5 8f905734e3554d2a7096d070f325b1b3
BLAKE2b-256 dc5b6af6204cb22f564091813ec7ab45933a3cd9e3661187878d4f916b097800

See more details on using hashes here.

Supported by

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