- 最近小组在面试视觉算法工程师,顺便整理了一波关于OpenCV的面试题目。
有些知识点也不深入,对于写的不对的地方,欢迎指正。
目录
- 20.像素梯度如何计算?
- 21.关于开运算和闭运算的理解
- 22.开运算和闭运算有什么优缺点?
- 23.图像插值有哪些?
- 24.图像金字塔的原理
- 25.边缘检测算法有哪些?
-
- 说说Canny检测算法的原理
- 26.OpenCV圆检测的算法原理是什么?
- 27.图像去噪有什么方法?
-
- 高斯滤波去噪的原理
- 28.仿射变换的原理
- 29.OpenCV 中cv2.warpPerspective()和cv2.warpAffine()的区别是什么?
- 30.OpenCV 中cv::Mat的内存管理机制是什么?如何解决处理大量图像时出现的内存泄漏
20.像素梯度如何计算?
原理:像素梯度表示图像中像素强度变化的速率,通常用于边缘检测等任务,计算通常基于图像的亮度(或颜色通道)的变化,如 Sobel 算子。
Sobel算子是基于图像中水平和垂直方向上的像素强度差异来计算梯度。它包括两个滤波器(就是两个3x3的矩阵,类似卷积核):一个计算水平方向的梯度(Gx),另一个计算垂直方向的梯度(Gy)。
主要用于识别图像中的边缘,或者特征提取,如物体的轮廓、形状等。
OpenCV中可以用cv::Sobel()
来实现Sobel算子的功能
21.关于开运算和闭运算的理解
-
开运算
先腐蚀,再膨胀
作用:主要用于去除外部小突起,分离粘连目标,轮廓外边缘更平滑。