首页 > 编程语言 >算法面试总结-传统图像算法

算法面试总结-传统图像算法

时间:2024-09-18 14:48:52浏览次数:8  
标签:面试 图像 SIFT 像素 边缘 算法 算子 关键点

目录

1.说说相机标定?

世界坐标系>1>相机坐标系>2>图像坐标系>3>像素坐标系
1、三维中的变换,坐标原点不一样,旋转和平移
2、三维到二维(小孔成像),映射矩阵44由焦距和Z比值构成
3、二维中的变换,坐标原点和大小改变,由在X,Y轴像素间距,和原点偏移量构成的3
3矩阵

参考:地址

2.说说图像的边缘是什么?

边缘一般是指局部区域灰度值的强烈变化,包括:阶跃变化和屋顶变化

3.说说边缘检测的任务以及基本原理

**任务:**找到具有阶跃变化或者屋顶变化的像素的集合。
**方法:**通过微分,寻找变化。
对于阶跃变化,一阶微分的峰值为边缘点,二阶微分的零点为边缘点。
对于屋顶变化,一阶微分的零点为边缘点,二阶微分的峰值为边缘点。
梯度的大小根号平方和,梯度方向, θ = (∂ f / ∂ x) / (∂ f / ∂ y)

4.说说Canny边缘检测算子?

检测流程如下:
1、利用高斯滤波降噪,去低频率,留高频
2、利用一阶差分计算边缘像素的梯度和梯度方向(利用了soble卷积核,根据位置分配不同权重的一种算子)
3、应用非极大值抑制消除边缘误检
2中,求出的梯度的方向可以是360°的,我们将这360°的区域划分为4个空间,如下图所示。
在这里插入图片描述

对应到图像中,一个像素点与其相邻的8个像素点,也可以划分为4个区域。
在这里插入图片描述
沿着梯度方向,每三个像素判断中间像素是否比左右的小,小则置0

4、使用双阈值的方法来决定可能得潜在边界(最大最小值)

5.说说除Canny外还知道什么边缘检测算子?

1、Reberts梯度算子,利用对角方向相邻像素差作为衡量标准,卷积运算的卷积核由-1,1的对角矩阵构成
2、Sobel算子,考虑相邻不同像素点的影响程度不同,给予不同权重,然后加权平均

3、Laplacian算子,Laplacian算子使用二阶微分,实际是梯度的散度。由于拉普拉斯算子对阶跃型边缘非常敏感,因此能够准确地定位到图像中的边缘。然而,由于拉普拉斯算子对噪声也非常敏感,直接应用可能会导致提取到的边缘包含很多噪声。为了解决这个问题,通常会在应用拉普拉斯算子之前先对图像进行高斯滤波,以抑制噪声。

6.说说霍夫变换步骤?

霍夫变换的精髓即特征变换,步骤如下
1、获取图片上的像素点,映射到极坐标系中
2、获取某一个像素,将将θ由0到180分别代入ρ=x cosθ+y sinθ,分别统计各θ下计算的ρ。
3、循环遍历像素点,,把统计的(ρ,θ)超过设定的最小投票数的点映射回笛卡尔坐标系x-y空间,极坐标系下一个点对应x-y空间一条线。

7.说说仿射变换?

放射变换,具有平行、共线性的不变性、是线性变换。主要是对图像做旋转、平移、缩放、剪裁变换。变换矩阵由3*3矩阵构成,3个变量,至少需要三组不共线的点才能求解。

8.说说透视变换?

透视变换又叫做投影映射,是将图像投影到另一个平面而形成的像,投影平面与图像平面没有必然的平行关系,所以,平行不变性无法确定。
变换矩阵,在放射变换的矩阵基础上,加入了透视变换参数[v1,v2],表示“变换后边缘交点的关系”。

9.说说最小二乘法?

目标函数= ∑(观测值 - 理论值)²
通过最小化误差的平方和寻找数据的最佳函数匹配。即,找到一组点,是的目标函数最小。
求解无约束最优化问题的常用方法,并且也可以用于曲线拟合。

10.说说SIFT算子以及有什么特点?

SIFT算法是在不同的尺度空间上查找关键点(特征点),并计算关键点的方向具有对旋转,尺度,亮度保持不变性,信息量丰富。

11.说说SIFT特征提取与匹配算法步骤?

1、用高斯卷积,下采样构成高斯金字塔,然后相邻层做差分,生成高斯差分金字塔
2、空间极值点检测
在二维图像空间,中心点与它3* 3邻域内的8个点做比较,在同一组内的尺度空间上,中心点和上下相邻的两层图像(如果高斯差分金字塔每组有3层,则只能在中间1层图像寻找极值点,两端的图像不连续,没有极值点.)的2 9个点作比较,如此可以保证检测到的关键点在尺度空间和二维图像空间上都是局部极值点(一共2*9+8=26个点)
3、稳定关键点的精确定位
当检测到极值点之后,会发现高斯差分金字塔是离散的(因为尺度空间和像素点都是离散的),所以找到的极值点不太准确,很大可能在真正极值点附近,为了找到更高亚像素位置精度的极值点,需利用泰勒展开式。
4、稳定关键点方向信息分配
统计以特征点为圆心,以该特征点所在的高斯图像的尺度的1.5倍为半径的圆内的所有的像素的梯度方向及其梯度幅值,并做1.5σ的高斯滤波(高斯加权,离圆心也就是关键点近的幅值所占权重较高)。分配给关键点的方向并不直接是关键点的梯度方向,而是按照一种梯度方向直方图的方式给出的。
5、关键点描述
描述子不但包含关键点,也包括关键点周围对其有贡献的邻域点。描述的思路是:对关键点周围像素区域分块,计算块内梯度直方图,生成具有独特性的向量,这个向量是该区域图像信息的一种抽象表述。
6、特征点匹配
特征点的匹配是通过计算两组特征点的128维的关键点描述子的欧式距离实现的。欧式距离越小,则相似度越高,当欧式距离小于设定的阈值时,可以判定为匹配成功。

12.说说SIFT和SURF区别?

SURF计算速度更高。
改变之处:
1、SIFT是多次下采样来获得不同尺度特征,SURF直接用不同尺寸卷积核来获得特征。
2、特征描述子,SIFT在4*4局部区域8个方向,SURF,改成了4个方向
3、特征点检测方法,SIFT特征先进行非极大抑制,再去除低对比度的点,再通过Hessian矩阵去除边缘响应过大的点,SURF相反
4、特征点主方向,确定方式不一样,SIFT通过梯度直方图,SRUF通过扇形区域的小波响应。

13.说说图像腐蚀与膨胀?

腐蚀原理:是用模版在原图像上滑动做与操作,对应位置全部相同,中心点对应位置的像素不变,否则置0。(缩小范围)
膨胀原理:用模版在原图像上滑动做或操作,对应位置有相同,中心点位置置1,否则不变。(扩大范围)

14.说说图像开闭运算?

总的位置和形状不发生改变
开运算先腐蚀,后膨胀;作用:去除孤立点、毛糙边缘,细小连接线
闭运算先膨胀,后腐蚀;作用:弥合小裂缝,小孔。

15.说说了解哪些插值算法?

1、最邻近插值算法;原理:选取离目标值最近的点作为新插入点的值。优缺点:速度快,会造成图像不连续
2、线性插值算法;原理:根据两点建立线性关系,以距离作为权重(加权求和)进行插值。
3、双线性插值算法;原理:在X,Y轴上均利用线性插值的算法。
4、双三次插值(cubic);原理: 对于某点进行插值时,考虑该点周围16个像素的影响。

16.说说双线性插值操作过程?

标签:面试,图像,SIFT,像素,边缘,算法,算子,关键点
From: https://blog.csdn.net/weixin_43271399/article/details/142315453

相关文章

  • 算法笔记2:二分
    二分二分可以求得满足条件的左边界或右边界,如下图所示查找左边界(绿色区域的最左边):intSL(intl,intr){while(l<r){intmid=l+r>>1;if(check(mid))r=mid;elsel=mid+1;}re......
  • 多输入多输出 | Matlab实现SMA-BP黏菌算法优化BP神经网络多输入多输出预测
    多输入多输出|Matlab实现SMA-BP黏菌算法优化BP神经网络多输入多输出预测目录多输入多输出|Matlab实现SMA-BP黏菌算法优化BP神经网络多输入多输出预测预测效果基本介绍程序设计往期精彩参考资料预测效果基本介绍多输入多输出|Matlab实现SMA-BP黏菌算法优......
  • 2024年JCR一区极光优化算法+分解对比!VMD-PLO-Transformer-BiLSTM多变量时间序列光伏功
    中秋献礼!2024年中科院一区极光优化算法+分解对比!VMD-PLO-Transformer-LSTM多变量时间序列光伏功率预测目录中秋献礼!2024年中科院一区极光优化算法+分解对比!VMD-PLO-Transformer-LSTM多变量时间序列光伏功率预测效果一览基本介绍程序设计参考资料效果一览......
  • 【数据结构和算法实践-树-LeetCode112-路径总和】
    数据结构和算法实践-树-LeetCode112-路径总和题目MyThought代码示例JAVA-8题目给你二叉树的根节点root和一个表示目标和的整数targetSum。判断该树中是否存在根节点到叶子节点的路径,这条路径上所有节点值相加等于目标和targetSum。如果存在,返回true;否则......
  • 最优化理论与自动驾驶(十一):基于iLQR的自动驾驶轨迹跟踪算法(c++和python版本)
    最优化理论与自动驾驶(四):iLQR原理、公式及代码演示之前的章节我们介绍过,iLQR(迭代线性二次调节器)是一种用于求解非线性系统最优控制最优控制最优控制和规划问题的算法。本章节介绍采用iLQR算法对设定的自动驾驶轨迹进行跟踪,与第十章节纯跟踪算法采用同样跟踪轨迹,同时,我们仅对控......
  • 面试真题-TCP的三次握手
    TCP的基础知识TCP头部 面试题:TCP的头部是多大?TCP(传输控制协议)的头部通常是固定的20个字节长,但是根据TCP选项(Options)的不同,这个长度可以扩展。TCP头部包含了许多关键的字段,如源端口号(SourcePort)、目的端口号(DestinationPort)、序列号(SequenceNumber)、确认号(Acknowledgmen......
  • OpenCV_图像旋转超详细讲解
    图像转置transpose(src, dst);transpose()可以实现像素下标的x和y轴坐标进行对调:dst(i,j)=src(j,i),接口形式transpose(InputArraysrc,//输入图像OutputArraydst,//输出)图像翻转flip(src,dst,1);flip()函数可以实现对图像的水平翻转、垂直翻转和双向......
  • 图像生成大模型Imagen
    图像生成大模型Imagen是由GoogleResearch开发的一种先进的人工智能技术,它在文本到图像(Text-to-Image)的生成领域取得了显著突破。Imagen通过结合深度学习中的扩散模型(DiffusionModels)和大规模预训练的自然语言处理(NLP)模型,实现了从文本描述到高质量图像的转换,为视觉内容创作......
  • halcon的频域图像处理
    频率特征是图像的灰度变化特征,低频特征是灰度变化不明显,例如图像整体轮廓,高频特征是图像灰度变化剧烈,如图像边缘和噪声。一个重要的经验结论:低频代表图像整体轮廓,高频代表了图像噪声,中频代表图像边缘、纹理等细节。什么时候使用傅里叶变换进行频域分析?1、具有一定纹理特征的图像,......
  • 安全帽佩戴识别算法
    安全帽佩戴识别算法采用SuiJi-AI人工智能深度学习技术+计算机智能视觉识别算法,且通过规模化的安全帽数据识别训练。安全帽佩戴识别算法借助现场已有的监控摄像头对监控画面中人员着装行为进行实时分析识别。假如检测人员不戴安全帽,SuiJiAi将立即记录和警报,并可将纪录数据推送到后......