简单实现图像拼接

挖坑,图像拼接作为计算机视觉大作业做了不止一次了,每次都得重新查资料,而且网上中文资料过于琐碎,索性自己整理一个。主要内容包括:

  1. 基本的特征点检测算法原理
  2. 图像拼接的基础主要是单应性原理
  3. 一些其他内容包括NMS非极大值抑制,RANSAC,偏移纠正等

至于什么时候填坑...实验室摸鱼...

工具准备

Python包:

  • numpy
  • opencv-python
  • opencv-contrib-python
  • matplotlib

一些常见的问题:

  1. OpenCV的SIFT不可用。
    这一问题常见的报错是:
...modulesxfeatures2dsrcsift.cpp:1207: error: (-213:The function/feature is not implemented) This algorithm is patented and is excluded in this configuration...

虽然SIFT专利过期了,但是最新的opencv-python貌似还没有对其解封,想用的话要降低opencv的版本。首先卸载已安装的opencv

pip uninstall opencv-python
pip uninstall opencv-contrib-python

然后安装

pip install opencv-python==3.4.2.16
pip install opencv-contrib-python==3.4.2.16

对于Anaconda用户可以使用

conda install -c menpo opencv

方法源自StackOverflow问题贴

  1. OpenCV的部分模块不可用
    常见的报错诸如:
...'module' object has no attribute 'xfeatures2d'...

原因是opencv-python 3.X以后只包含部分内容,需要神经网络或者其他的函数需要导入opencv-contrib.

pip install opencv-contrib-python
原文地址:https://www.cnblogs.com/tofengz/p/13285249.html