GithubHelp home page GithubHelp logo

mhcchang / 102.py_image_registration Goto Github PK

View Code? Open in Web Editor NEW

This project forked from hakaboom/py_image_registration

0.0 0.0 0.0 10.93 MB

图像配准算法。包括 SIFT、ORB、SURF、AKAZE、BRIEF、matchTemplate

License: Apache License 2.0

Python 100.00%

102.py_image_registration's Introduction

py_image_registration

GitHub issues GitHub forks GitHub stars GitHub license PyPI - Downloads

该项目已移到另外一个库进行后续开发 https://github.com/hakaboom/image_registration

Image registration algorithm. Includes SIFT, ORB, SURF, AKAZE, BRIEF, matchTemplate

同时包含cuda加速(ORB, SURF, matchTemplate)

Requirements

  • 开发时使用的是python 3.8
  • opencv需要自己安装或自行编译,读取的到cv2模块就行

Installation

pip3 install py-image-registration

Example

  1. create
from image_registration import ORB, SIFT, RootSIFT, SURF, BRIEF, AKAZE, CUDA_SURF, CUDA_ORB, match_template

orb = ORB()
sift = SIFT()
# Other
# orb = ORB(nfeatures=1000, nlevels=9)
# 提取器的参数可以根据opencv文档调整
  1. MatchTemplate

模板匹配

from image_registration import match_template
from baseImage import Image, Rect

im_source = Image('test.png')
im_search = Image('star.png')

tpl = match_template()
result = tpl.find_best(im_source=im_source, im_search=im_search)
# expect output
# {
#  'rect': Rect,  # 返回一个baseImage.Rect类的识别范围
#  'confidence': 0.99 # 返回识别结果的置信度
# }
# Other
# tpl.find_best(im_source=im_source, im_search=im_search, threshold=0.8, rgb=False)
# threshold: 匹配度 0~1
# rgb: 是否判断rgb颜色


tpl.find_all(im_source=im_source, im_search=im_search)
# expect output
# {
#  {
#     'rect': Rect,  # 返回一个baseImage.Rect类的识别范围
#     'confidence': 0.99 # 返回识别结果的置信度
#  },
#  {
#     'rect': Rect
#     'confidence': 0.95
#  },
#  ...
# }
# Other
# tpl.find_all(im_source=im_source, im_search=im_search, threshold=0.8, max_count=20, rgb=False)
# threshold: 匹配度 0~1
# max_count: 最多匹配数量
# rgb: 是否判断rgb颜色
  1. keypoint detector and descriptor extractor

基于特征点的匹配

from image_registration import ORB, SIFT, RootSIFT, SURF, BRIEF, AKAZE, CUDA_SURF, CUDA_ORB

orb = ORB()
sift = SIFT()

im_source = Image('test.png')
im_search = Image('star.png')

orb.find_best(im_source=im_source, im_search=im_search)
orb.find_all(im_source=im_source, im_search=im_search)
# 返回结果MatchTemplate

Exceptions

  1. NoModuleError

模块未找到, 检查opencv库是否安装正确

  1. CreateExtractorError

创建特征提取器失败, 检查传入参数以及opencv库是否安装正确

  1. NoEnoughPointsError

当特征提取器提取特殊数量少于2时弹出异常

  1. CudaSurfInputImageError

图像大小不符合cuda_surf的要求时弹出异常opencv_surf.cuda

  1. CudaOrbDetectorError

提取特征时出现的错误,需要调整orb的初始参数(scaleFactor, nlevels, firstLevel)

  1. HomographyError

An error occurred while findHomography

  1. MatchResultError

An error occurred while result out of screen

  1. PerspectiveTransformError

An error occurred while perspectiveTransform

102.py_image_registration's People

Contributors

hakaboom avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.