当前位置:   article > 正文

图像处理面试题_opencv面试题

opencv面试题

文章目录

1、给定0-1矩阵,求连通域。

二值图像分析最重要的方法就是连通区域标记,它是所有二值图像分析的基础,它通过对二值图像中白色像素(目标)的标记,让每个单独的连通区域形成一个被标识的块,进一步的我们就可以获取这些块的轮廓、外接矩形、质心、不变矩等几何参数。

连通域:在图像中,最小的单位是像素,每个像素周围有8个邻接像素,常见的邻接关系有2种:4邻接与8邻接。

如果A与B连通,B与C连通,则A与C连通。在视觉上看来,彼此连通的点形成了一个区域,而不连通的点形成了不同的区域。这样的一个所有的点彼此连通点构成的集合,我们称为一个连通区域。

L = bwlabel(BW,n)

2、写一个函数,求灰度图的直方图

3、写一个均值滤波(中值滤波)。

4、写出高斯算子,Sobel算子,拉普拉斯算子等,以及它们梯度方向上的区别。

  • sobel算子:

其主要用于边缘检测,在技术上它是以离散型的差分算子,用来运算图像亮度函数的梯度的近似值, Sobel算子是典型的基于一阶导数的边缘检测算子,由于该算子中引入了类似局部平均的运算,因此对噪声具有平滑作用,能很好的消除噪声的影响。Sobel算子对于象素的位置的影响做了加权,与Prewitt算子、Roberts算子相比因此效果更好。Sobel算子包含两组3x3的矩阵,分别为横向及纵向模板,将之与图像作平面卷积,即可分别得出横向及纵向的亮度差分近似值。缺点是Sobel算子并没有将图像的主题与背景严格地区分开来,换言之就是Sobel算子并没有基于图像灰度进行处理,由于Sobel算子并没有严格地模拟人的视觉生理特征,所以提取的图像轮廓有时并不能令人满意。

  • Roberts算子:

Roberts算子 罗伯茨算子、Roberts算子是一种最简单的算子,是一种利用局部差分算子寻找边缘的算子,他采用对角线方向相邻两象素之差近似梯度幅值检测边缘。检测垂直边缘的效果好于斜向边缘,定位精度高,对噪声敏感,无法抑制噪声的影响。1963年,Roberts提出了这种寻找边缘的算子。Roberts边缘算子是一个2x2的模板,采用的是对角方向相邻的两个像素之差。从图像处理的实际效果来看,边缘定位较准,对噪声敏感。适用于边缘明显且噪声较少的图像分割。Roberts边缘检测算子是一种利用局部差分算子寻找边缘的算子,Robert算子图像处理后结果边缘不是很平滑。经分析,由于Robert算子通常会在图像边缘附近的区域内产生较宽的响应,故采用上述算子检测的边缘图像常需做细化处理,边缘定位的精度不是很高。

  • prewitt算子:

Prewitt算子 Prewitt算子是一种一阶微分算子的边缘检测,利用像素点上下、左右邻点的灰度差,在边缘处达到极值检测边缘,去掉部分伪边缘,对噪声具有平滑作用 。其原理是在图像空间利用两个方向模板与图像进行邻域卷积来完成的,这两个方向模板一个检测水平边缘,一个检测垂直边缘。经典Prewitt算子认为:凡灰度新值大于或等于阈值的像素点都是边缘点。即选择适当的阈值T,若P(i,j)≥T,则(i,j)为边缘点,P(i,j)为边缘图像。这种判定是欠合理的,会造成边缘点的误判,因为许多噪声点的灰度值也很大,而且对于幅值较小的边缘点,其边缘反而丢失了。Prewitt算子对噪声有抑制作用,抑制噪声的原理是通过像素平均,但是像素平均相当于对图像的低通滤波,所以Prewitt算子对边缘的定位不如Roberts算子。因为平均能减少或消除噪声,Prewitt梯度算子法就是先求平均,再求差分来求梯度。该算子与Sobel算子类似,只是权值有所变化,但两者实现起来功能还是有差距的,据经验得知Sobel要比Prewitt更能准确检测图像边缘

  • Laplace算子:

Laplacian算子Laplace算子是一种各向同性算子,二阶微分算子,在只关心边缘的位置而不考虑其周围的象素灰度差值时比较合适。Laplace算子对孤立象素的响应要比对边缘或线的响应要更强烈,因此只适用于无噪声图象。存在噪声情况下,使用Laplacian算子检测边缘之前需要先进行低通滤波。所以,通常的分割算法都是把Laplacian算子和平滑算子结合起来生成一个新的模板。拉普拉斯算子也是最简单的各向同性微分算子,具有旋转不变性。一个二维图像函数的拉普拉斯变换是各向同性的二阶导数。拉式算子用来改善因扩散效应的模糊特别有效,因为它符合降制模型。扩散效应是成像过程中经常发生的现象。Laplacian算子一般不以其原始形式用于边缘检测,因为其作为一个二阶导数,Laplacian算子对噪声具有无法接受的敏感性;同时其幅值产生算边缘,这是复杂的分割不希望有的结果;最后Laplacian算子不能检测边缘的方向;所以Laplacian在分割中所起的作用包括:(1)利用它的零交叉性质进行边缘定位;(2)确定一个像素是在一条边缘暗的一面还是亮的一面;一般使用的是高斯型拉普拉斯算子(Laplacian of a Gaussian,LoG),由于二阶导数是线性运算,利用LoG卷积一幅图像与首先使用高斯型平滑函数卷积改图像,然后计算所得结果的拉普拉斯是一样的。所以在LoG公式中使用高斯函数的目的就是对图像进行平滑处理,使用Laplacian算子的目的是提供一幅用零交叉确定边缘位置的图像;图像的平滑处理减少了噪声的影响并且它的主要作用还是抵消由Laplacian算子的二阶导数引起的逐渐增加的噪声影响。

  • Canny算子:

Canny算子Canny算子是一个具有滤波,增强,检测的多阶段的优化算子,在进行处理前,Canny算子先利用高斯平滑滤波器来平滑图像以除去噪声,Canny分割算法采用一阶偏导的有限差分来计算梯度幅值和方向,在处理过程中,Canny算子还将经过一个非极大值抑制的过程,最后Canny算子还采用两个阈值来连接边缘。边缘提取的基本问题是解决增强边缘与抗噪能力间的矛盾,由于图像边缘和噪声在频率域中同是高频分量,简单的微分提取运算同样会增加图像中的噪声,所以一般在微分运算之前应采取适当的平滑滤波,减少噪声的影响。Canny运用严格的数学方法对此问题进行了分析,推导出由# 个指数函数线性组合形式的最佳边缘提取算子网,其算法的实质是用一个准高斯函数作平滑运算,然后以带方向的一阶微分定位导数最大值,Canny算子边缘检测是一种比较实用的边缘检测算子,具有很好的边缘检测性能。Canny边缘检测法利用高斯函数的一阶微分,它能在噪声抑制和边缘检测之间取得较好的平衡。

  • Laplacian of Gaussian 算子:

Laplacian of Gaussian(LoG)算子 利用图像强度二阶导数的零交叉点来求边缘点的算法对噪声十分敏感,所以,希望在边缘增强前滤除噪声.为此,将高斯滤波和拉普拉斯边缘检测结合在一起,形成LoG(Laplacian of Gaussian, LoG)算法,也称之为拉普拉斯高斯算法.LoG边缘检测器的基本特征是: 平滑滤波器是高斯滤波器.增强步骤采用二阶导数(二维拉普拉斯函数).边缘检测判据是二阶导数零交叉点并对应一阶导数的较大峰值.使用线性内插方法在子像素分辨率水平上估计边缘的位置.这种方法的特点是图像首先与高斯滤波器进行卷积,这一步既平滑了图像又降低了噪声,孤立的噪声点和较小的结构组织将被滤除.由于平滑会导致边缘的延展,因此边缘检测器只考虑那些具有局部梯度最大值的点为边缘点.这一点可以用二阶导数的零交叉点来实现.拉普拉斯函数用作二维二阶导数的近似,是因为它是一种无方向算子.为了避免检测出非显著边缘,应选择一阶导数大于某一阈值的零交叉点作为边缘点.

5、常用的特征提取方法。

6、常用的目标检测方法。

7、常用的边缘提取方法。

8、常用的插值方法。

9、常用的图像分割算法。

10、写一个图像resize函数(放大和缩小)。

11、彩色图像、灰度图像、二值图像和索引图像区别?(索引图像到底是啥?)

**彩色图像:**每个像素通常是由红(R)、绿(G)、蓝(B)三个分量来表示的,分量介于(0,255)

**灰度图像:**是每个像素只有一个采样颜色的图像,这类图像通常显示为从最暗黑色到最亮的白色的灰度,尽管理论上这个采样可以任何颜色的不同深浅,有256个灰度级。

**二值图像:**即一幅二值图像的二维矩阵仅由0、1两个值构成,“0”代表黑色,“1”代白色。

**索引图像:**除了存放图像的二维矩阵外,还包括一个称之为颜色索引矩阵MAP的二维数组。MAP的大小由存放图像的矩阵元素值域决定,如矩阵元素值域为[0,255],则MAP矩阵的大小为256Ⅹ3,用MAP=[RGB]表示。MAP中每一行的三个元素分别指定该行对应颜色的红、绿、蓝单色值,MAP中每一行对应图像矩阵像素的一个灰度值,如某一像素的灰度值为64,则该像素就与MAP中的第64行建立了映射关系,该像素在屏幕上的实际颜色由第64行的[RGB]组合决定。

12、深度学习中目标检测的常用方法,异同。

13、给定摄像头范围和图像大小求分辨率。

14、如何检测图片中的汽车,并识别车型,如果有遮挡怎么办?

15、数字识别的流程。

16、介绍神经网络、SVM、AdaBoost、kNN…(每一个都可能深入问各种细节)

17、写梯度下降代码。

18、卷积神经网络与神经网络的区别。

19、卷积层的作用、pooling层的作用,全连接层的作用。

20、过拟合和欠拟合分别是什么,如何改善。

21、1x1卷积和的作用。

22、计算卷积神经网络某一层参数量。

22、opencv遍历像素的方式?

23、LBP原理?

24、HOG特征计算过程,还有介绍一个应用HOG特征的应用?

25、opencv里面mat有哪些构造函数?

26、如何将buffer类型转化为mat类型?

27、opencv如何读取png格式的图片?

28、opencv如何读取内存图片?

29、opencv里面有哪些库?

30、用过opencv里面哪些函数?

31、opencv里面为啥是bgr存储图片而不是人们常听的rgb?

32、你说opencv里面的HOG+SVM效果很差?他就直接来了句为啥很差?差了就不改了?差了就要换其他方法?、

33、讲讲HOG特征?他在dpm里面怎么设计的,你改过吗?HOG能检测边缘吗?里面的核函数是啥?那hog检测边缘和canny有啥区别?

34、如何求一张图片的均值?

35、如何写程序将图像放大缩小?

36、如何遍历一遍求一张图片的方差?

37、高斯噪声和椒盐噪声

椒盐噪声就是在图像上随机出现黑色白色的像素。椒盐噪声是一种因为信号脉冲强度引起的噪声,椒盐噪声用中值滤波比较好。

原因是:

1.椒盐噪声是幅值近似相等但是随机的分布在不同位置,图中既有污染的点,也有干净的点。

2.图中噪声的均值不为零,所以不适合均值滤波。

3.图中有干净的点也有污染的点,所以中值滤波可以用干净的点代替污染的点。

高斯噪声是指它的概率密度函数服从高斯分布(即正态分布)的一类噪声。高斯噪声用均值滤波比较好。

原因是:

1.高斯噪声的幅值近似正态分布,但是分布在每个点上。

2.因为所有的点都被污染所以不能中值滤波选不到正确的干净的点。

3.因为高斯噪声服从正态分布所以均值噪声为零可以选用均值滤波处理噪声。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/554647
推荐阅读
相关标签
  

闽ICP备14008679号