机器视觉(九):图像配准

news2024/12/26 22:55:44

目录:

机器视觉(一):概述

机器视觉(二):机器视觉硬件技术

机器视觉(三):摄像机标定技术

机器视觉(四):空域图像增强

机器视觉(五):机器视觉与世界杯

机器视觉(六):频域图像增强

机器视觉(七):图像分割

机器视觉(八):图像特征提取

机器视觉(九):图像配准

机器视觉(十):字符识别

🌏🧐以下为正文🦄🪐

         待配准图像与原图像相比存在偏移、旋转、比例等空间变换关系,图像配准就是将不同传感器所采集得到的同一场景的多光谱、多波段或同一传感器在不同时相、不同方位、不同条件下(气候、照度、摄像位置和角度等)获得同一场景的两幅或多幅图像进行匹配的过程。

一、图像配准概述

(一)常用图像变换

1.刚体变换

        一幅图像中的两点间的距离经变换到另一幅图像中后仍然保持不变。

 2.仿射变换

        一幅图像上的直线经过变换后映射到另一幅图像上仍然为直线,并且保持平行关系。

 3.投影变换

        一幅图像上的直线经过变换后映射到另一幅图像上仍然为直线,但平行关系基本不保持。

4.非线性变换

        一幅图像上的直线映射到另一幅图像上不一定是直线,可能是曲线。

(二)图像配准方法分类

1.基于像素的配准方法

        一般根据配准图像的相关函数、Fourier变换等关系式来计算配准参数。其中最简单的方法就是窗口(模板)匹配法。

2.基于特征的配准方法

        主要是采用各种算法提取基准图像和实时图像的特征,如边缘、角点、曲率、不变矩等,然后对提取的特征进行描述从而使其可以按照某种相似性测度进行匹配。

3.基于模型的配准方法

        根据图像失真的数学模型来对图像进行非线性校正式的配准,多用于医学图像。

二、图像配准方法

(一)基于特征点的配准定位方法

        下图中椭圆区域为SIFT特征匹配区域,椭圆的中心位置代表了关键点在图像中的二维坐标位置,椭圆的长轴代表了关键点的尺度,椭圆的方向代表了该关键点的方向。

SIFT特征提取a

SIFT特征提取b

SIFT特征匹配结果图

         图像对的匹配点数随着阈值的增加而逐渐减少,但是匹配点更加稳定。SIFT特征是图像的局部特征,信息量丰富,适用于在海量特征数据库中进行快速、准确的匹配,并可通过选择适合的阈值,寻找可靠、稳定的特征匹配点。

 (二)基于图像矩的配准定位方法

        对基准图像和待配准图像进行特征提取预处理,采用质心主轴法完成两幅图像特征之间的匹配,建立图像之间的配准映射关系,利用仿射变换对待配准图像进行图像变换实现图像配准定位。

        对基准图像和待配准图像分别进行图像处理,经过阈值分割、中值滤波、轮廓提取、轮廓跟踪得到两幅图像的连续完整轮廓;分别针对两个轮廓图像计算出其目标轮廓的主轴,两主轴的夹角即为图像的旋转角。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/146870.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

python简单爬虫

爬虫真是一件有意思的事儿啊,之前写过爬虫,用的是urllib2、BeautifulSoup实现简单爬虫,scrapy也有实现过。最近想更好的学习爬虫,那么就尽可能的做记录吧。这篇博客就我今天的一个学习过程写写吧。 一 正则表达式 正则表达式是一…

格式化电脑重装系统怎么操作

​电脑一但中毒的电脑必须重装系统,而且需要格式化后重装系统,才能将病毒铲除,那么如何将电脑格式化后重装系统呢?能够实现电脑格式化重装系统的方法是U盘重装和光盘重装,由于部分电脑没有光驱,建议用U盘&a…

Redis常见集群方案

Redis常见集群方案 Redis集群方案目前主流的有三种,分别是Twemproxy、Codis和Redis Cluster。 Redis Cluster Redis Cluster 集群是去中心化通过客户端分片的结构,集群元数据信息分布在每个节点上,主备切换依赖于多个节点协商选主。 Red…

C++11之lambda表达式

文章目录一、引入原因二、lambda 表达式的语法1. lambda 表达式各部分说明2.捕捉列表说明三、lambda 表达式的本质一、引入原因 如果待排序元素为自定义类型,需要用户定义排序时的比较规则。 比如: struct Goods {string _name; // 名字double _pr…

idea调试npm、tomcat远程服务(包括docker部署方式)

前言 idea调试npm、tomcat远程服务:包括docker部署方式及非docker部署方式 博客地址:芒果橙的个人博客 【http://mangocheng.com】 调试npm项目 1. 新增一个npm项目 2. 配置package.json及启动脚本 3. debug模式启动 远程调试docker部署的项目 1. 配置…

XMLTomcatHttp协议

XML&Tomcat&Http协议 学习目标 了解配置文件的作用了解常见的配置文件类型掌握properties文件的编写规范掌握xml文件的编写了解xml文件的约束掌握xml文件的解析掌握Tomcat的安装掌握Tomcat的使用掌握Tomcat在IDEA中的使用了解HTTP协议的发展历程了解HTTP1.0和HTTP1.1…

ConcurrentHashMap源码阅读笔记:initTable()方法

一、非常重要的sizeCtl属性 initTable()方法的作用是初始化哈希表,初始化哈希表就要有确定哈希表容量、创建哈希表并将哈希表的引用赋值、修改哈希表的阈值等步骤。initTable()方法里面采用了不加锁方式来确保在高并发的环境下创建哈希表的全部步骤都只能由一个线程…

Android入门第57天-使用OKHttp多线程制作像迅雷一样的断点续传功能

简介今天我们将继续使用OkHttp组件并制作一个基于多线程的可断点续传的下载器来结束Android OkHttp组件的所有知识内容。在这一课里我们会在上一次课程的基础上增加SQLite的使用以便于我们的App可以暂存下载时的实时进度,每次下载开始都会判断是覆盖式还是续传式下载…

(3)go-micro微服务项目搭建

文章目录一 微服务项目介绍二 go-micro安装1.拉取micro镜像2.生成项目目录三 项目搭建使用DDD模式开发项目:四 最后一 微服务项目介绍 账户功能是每一个系统都绕不开的一部分,所以本次搭建的微服务项目就是账户微服务项目,其中向外暴露的功能…

【C语言航路】第十站:指针进阶(一)

目录 一、字符指针 二、指针数组 三、数组指针 1.数组指针的定义 2.数组名和&数组名 3.数组指针的使用 四、数组参数、指针参数 1.一维数组传参 2.二维数组传参 3.一级指针传参 4.二级指针传参 五、函数指针 总结 一、字符指针 我们知道指针有一种类型叫做字符…

Vue3新特性

文章目录一 新特性之组合API1.1 ref&reactive1.2 methods1.3 props和context1.4 完整代码&效果演示二 Vue3新特性之生命周期函数(在setup中)三 父子级组件间数据传递3.1 Provide&Inject四 Fragment(碎片)一 新特性之组合API 1.1 ref&re…

XMLHttpRequest和Referer

XMLHttpRequest 对象简介 1999年,微软公司发布 IE 浏览器5.0版,第一次引入新功能:允许 JavaScript 脚本向服务器发起 HTTP 请求。这个功能当时并没有引起注意,直到2004年 Gmail 发布和2005年 Google Map 发布,才引起广…

承蒙时光不弃,做个好人!

落幕 2022年博客之星终于要在今晚2023年1月7日24点整落下帷幕,从上个月28号开始,仿佛经历了一场噩梦,本是抱着随便玩玩的心态报了名,没成想,刚开始自投五星之后竟然显示10几名,那是不是我稍加努力就进前十…

狂揽两千星,速度百倍提升,高性能 Python 编译器 Codon 火了

前言 众所周知,Python 是一门简单易学、具有强大功能的编程语言,在各种用户使用统计榜单中总是名列前茅。相应地,围绕 Python,研究者开发了各种便捷工具,以更好的服务于这门语言。 编译器充当着高级语言与机器之间的…

TensorFlow笔记之单神经元完成多分类任务

文章目录前言一、逻辑回归1.二分类问题2.多分类问题二、数据集调用三、TensorFlow1.x1.定义模型2.训练模型3.结果可视化四、TensorFlow2.x1.定义模型2.训练模型3.结果可视化总结前言 记录分别在TensorFlow1.x与TensorFlow2.x中使用单神经元完成MNIST手写数字识别的过程。 一、…

Linux出现ping: www.baidu.com: 未知的名称或服务解决方法

文章目录解决对象方法先找到网关在Windows下进行VMnet8的配置ping成功Linux出现ping: www.baidu.com: 未知的名称或服务解决方法 解决对象 本文的方法用于各位大佬已经用过以下方法仍然无法ping成功 Linux防火墙已关闭和Windows防火墙已经关闭已经配置好 vim /etc/sysconfig/…

手撕C语言理论知识(上)粗略讲解C语言的部分入门知识

目录 C语言的一些基础知识 操作符简介 Scanf的%[ ] 语句(分支、循环、goto) 函数 C语言的一些基础知识 主函数 - 程序的入口 - main函数有且仅有一个。char - short - int - long - long long - float - double%d - 十进制整型 %u - 无符号整型 %…

【博学谷学习记录超强总结,用心分享|产品经理基础总结和感悟15】

互联网产品设计背后的心理学02:你就是会被其他人的行为所影响一、前言二、实验设计及结果分析三、实验原理四、实验方法总结五、产品设计中的应用六、结束语前文回顾:让人们做出决定并不是信息本身,而是这些信息呈现的背景或情景。我们这个信…

Spring Cloud Alibaba Dubbo(服务远程调用)

一、软件环境 &#xff08;1&#xff09;自己部署服务器 所有软件及服务器自己进行管理提供&#xff0c;可以直接在项目中添加Spring Cloud依赖。推荐 <dependencyManagement> <dependencies> <dependency> <groupId>com.a…

liunx centos9中安装flask并在pycharm中使用图文攻略

liunx centos9中安装flask并在pycharm中使用图文攻略1.首先在liunx的终端中输入2.安装好flask之后就在pycharm创建新的项目处添加flask项目3.点击绿色三角箭头开始运行flask项目4. 然后登录ip地址就出现Hllo world就代表flask环境搭建完成需要注意事项1.首先在liunx的终端中输入…