
OpenCV例程300篇
文章平均质量分 92
从零开始学习 OpenCV,OpenCV 例程 200篇
youcans_
电子出版社《数字图像处理—基于OpenCV/Python》作者
展开
-
【youcans的OpenCV例程300篇】总目录
【youcans 的 OpenCV 例程300篇】总目录转载本系列作品时必须标注以下版权内容:必须标注以下版权内容:youcans@qq.com, 【youcans 的 OpenCV 例程】, https://blog.youkuaiyun.com/youcans/category_11459626.html......................................................原创 2022-06-03 14:33:39 · 68936 阅读 · 0 评论 -
【youcans 的 OpenCV 例程200篇】结束语
【youcans 的 OpenCV 例程】真的写到了 200篇,迎来了“结束语”。作者声明放弃对本系列作品的版权,网友可以自由复制和转载,但必须标注以下版权内容:https://blog.youkuaiyun.com/youcans/category_11459626.html近期我还将新开设一个专题,【OpenCV 函数字典】,欢迎大家关注!.........原创 2022-06-04 08:15:00 · 1038 阅读 · 0 评论 -
《数字图像处理-OpenCV/Python》连载(3)例程索引
《数字图像处理-OpenCV/Python》连载(3)例程索引。**本书京东优惠购书链接:https://item.jd.com/14098452.html****本书优快云独家连载专栏:https://blog.youkuaiyun.com/youcans/category_12418787.html**原创 2023-08-26 14:29:54 · 908 阅读 · 0 评论 -
【youcans 的图像处理学习课】23. 人脸检测:Haar 级联检测器
OpenCV 中定义了级联分类器类 cv::CascadeClassifier。本文给出使用 Haar 级联检测器检测人脸、人眼的例程,视频人脸检测例程。原创 2023-04-29 14:03:12 · 2759 阅读 · 4 评论 -
【OpenCV 例程 300篇】257.OpenCV 生成随机矩阵
OpenCV 中提供了 cv.randn 和 cv.randu 函数生成随机数矩阵,也可以用于创建随机图像。函数 cv.randn 生成的矩阵服从正态分布,函数 cv.randu 生成的矩阵服从均匀分布原创 2023-04-13 22:25:27 · 2394 阅读 · 0 评论 -
【OpenCV 例程 300篇】256. 特征检测之 CenSurE(StarDetector)算法
中心环绕算法(Center Surround Extremas, CenSurE)具有尺度不变性,计算效率高,特征点坐标精确,性能良好,可以实时实现。CenSurE 的重要特点是不构造图像金字塔,而是用不同尺度的检测器对原始图像进行检测,就可以检测出不同尺度的关键点。OpenCV 中实现的 CenSurE 算法称为 STAR 算法,对 CenSurE 算法进行了一些改进。原创 2023-01-16 07:30:00 · 1983 阅读 · 1 评论 -
【OpenCV 例程 300篇】255.OpenCV 实现图像拼接
OpenCV 提供了2个或多个图像水平拼接或垂直拼接的函数 cv.hconcat 与 cv.vconcat。函数 cv.hconcat 沿列方向水平堆叠,拼接图像的高度(数组的行数)必须相同;函数 cv.vconcat沿行方向垂直堆叠,拼接图像的宽度(数组的列数)必须相同。综合使用函数 cv.hconcat 和 cv.vconcat,可以实现图像的矩阵拼接。原创 2023-01-09 08:00:00 · 3305 阅读 · 4 评论 -
【OpenCV 例程 300篇】254.OpenCV 绘制图像标记
函数 cv.drawMarker 用来在图像上的指定位置绘制标记。OpenCV提供了绘图功能,可以在图像上绘制直线、矩形、圆、椭圆等各种几何图形。函数 cv.line()、cv.rectangle()、cv.circle()、cv.polylines() 等分别用来在图像中绘制直线、矩形、圆形、多边形等几何形状。原创 2023-01-04 08:00:00 · 2031 阅读 · 5 评论 -
【OpenCV 例程 300篇】253. 多帧图像(动图)的读取与保存
多帧图像是将多幅图像或帧数据保存在单个文件中,也称为多页图像或图像序列,主要用于对时间或场景上相关图像集合进行操作的场合,例如动图和CT图集。函数 cv.imreadmulti() 用于从指定的多帧图像文件中读取多幅图像,函数 cv.imwritemulti() 用于将多幅图像保存到指定的多帧图像文件中。原创 2023-01-01 00:00:00 · 3565 阅读 · 13 评论 -
【OpenCV 例程 300篇】252.视频文件的读取与保存
OpenCV提供了VideoCapture类和VideoWriter类处理视频流,既可以处理视频文件,也可以处理摄像头设备。原创 2022-12-14 10:31:36 · 2302 阅读 · 0 评论 -
【OpenCV 例程 300篇】251. 特征匹配之暴力匹配
基于特征描述符的特征点匹配是通过对两幅图像的特征点集合内的关键点描述符的相似性比对来实现的。暴力匹配(Brute-force matcher)是最简单的二维特征点匹配方法。在OpenCV中提供了cv::BFMatcher类实现暴力匹配。原创 2022-12-12 09:30:00 · 10366 阅读 · 13 评论 -
【OpenCV 例程 300篇】249. 特征描述之视网膜算法(FREAK)
快速视网膜算法(FREAK)模拟人类视网膜的拓扑结构设计关键点的采样模式,构造二进制编码串珠外关键点的特征描述符。FREAK 比 SIFT、SURF、BRISK 算法的速度更快,内存负载更低,鲁棒性强。OpenCV提供了cv::xfeatures2d::FREAK类实现FREAK特征描述符。原创 2022-12-05 12:00:00 · 3352 阅读 · 3 评论 -
【OpenCV 例程 300篇】246. 特征检测之ORB算法
ORB(Oriented FAST and rotated BRIEF)将 FAST 特征检测与 BRIEF 特征描述结合并进行了改进。ORB的优点是速度非常快,性能比较好,具有旋转不变性和一定的尺度不变性。由于没有专利限制可以免费使用,ORB 算法应用广泛,经常被用来代替 SIFT、SURF 算法。原创 2022-11-28 09:00:14 · 8633 阅读 · 5 评论 -
【OpenCV 例程 300篇】248. 特征描述之HOG描述符
方向梯度直方图(Histogram of Oriented Gradient, HOG)使用梯度方向的分布作为特征来构造描述符。HOG的基本方法是,将图像划分成多个单元格,计算单元格的方向梯度直方图,把每个单元格的直方图连接起来构造为HOG特征向量。原创 2022-11-22 09:30:00 · 2428 阅读 · 7 评论 -
【OpenCV 例程300篇】250. 梯度算子的传递函数
空间域滤波器和频率域滤波器实际上是相互对应的,也是可以相互转换的。空间域滤波的核心是卷积核,频域滤波的核心是构造滤波器的传递函数。本例程给出由空间滤波器核计算频域传递函数的子程序,比较常用空间域滤波器和梯度算子的传递函数。原创 2022-11-08 15:34:12 · 2293 阅读 · 6 评论 -
【OpenCV 例程 300篇】245. 特征检测之 BRISK 算子
尺度不变的二进制特征描述 BRISK (Binary Robust Invariant Scalable Kepoints), 是改进的 BRIEF 算法,也是二进制特征描述符。具有高计算效率和旋转不变性、尺度不变性,对噪声也有一定的鲁棒性。原创 2022-10-23 09:30:00 · 3193 阅读 · 10 评论 -
【OpenCV 例程 300篇】249. 图像的重映射
重映射是指从一个图像中的位置获取像素,将其重新映射,定位到目标图像的指定位置。重映射经常应用于视频图像的重建。映射函数是动态变化的,而且往往是由复杂算法实时计算得到的,视频播放或动态显示窗口实时调用重映射函数,就可以动态加载目标的位置和形状。原创 2022-10-28 15:56:50 · 3747 阅读 · 7 评论 -
【OpenCV 例程 300篇】244. 特征检测之 BRIEF 特征描述
BRIEF算子对检测到的特征点构造特征描述子,特点是直接生成二进制字符串作为特征描述符,效率很高。BRIEF 建立描述子的速度很快,生成的二进制描述子便于高速匹配,且便于在硬件上实现。BRIEF 算法不涉及特征点检测方法,需要配合 FAST、SURF、CenSurE 等特征点检测算法使用。原创 2022-10-20 09:00:00 · 2418 阅读 · 7 评论 -
【OpenCV 例程 300篇】243. 特征检测之 FAST 算法
FAST 是一种特征点检测算法,用于特征提取,但不涉及特征描述。FAST 计算速度快、可重复性高,非常适合实时视频的处理。FAST 类解析,例程分享。原创 2022-10-17 09:00:00 · 2483 阅读 · 3 评论 -
【OpenCV 例程 300篇】242. 加速稳健特征检测算法(SURF)
SURF 是 SIFT 的改进算法,比SIFT更快更稳定,可以应用于实时的计算机视觉系统。SURF的主要特点是采用积分图像构造金字塔尺度空间,采用Harr小波特征构造特征描述子。原创 2022-10-10 10:00:00 · 2750 阅读 · 18 评论 -
【OpenCV 例程 300篇】241. 尺度不变特征变换(SIFT)
尺度不变特征转换算法(Scale-invariant feature transform,SIFT)是图像处理中经典的局部特征描述算法。OpenCV 提供了丰富的特征检测算法,而且继承了 cv::Feature2D 类,采用了统一的定义和封装。如:AffineFeature、AgastFeatureDetector、AKAZE、BRISK、FastFeatureDetector、GFTTDetector、KAZE、MSER、ORB、SimpleBlobDetector、SIFT、SURF 等。...原创 2022-07-27 17:09:30 · 3097 阅读 · 7 评论 -
【OpenCV 例程 300篇】240. OpenCV 中的 Shi-Tomas 角点检测
Shi-Tomas 算法是对 Harris角点检测算法的改进,一般会比Harris算法得到更好的角点。OpenCV 中提供了 Shi-Tomas 角点检测函数 **cv.goodFeaturesToTrack**() 。通过 Shi-Tomasi 方法找出图像中最突出的 N 个角点。原创 2022-07-26 08:10:38 · 1438 阅读 · 0 评论 -
【OpenCV 例程 300篇】239. Harris 角点检测之精确定位(cornerSubPix)
Harris 算法重复性良好、检测效率较高,应用较为广泛。OpenCV 中提供了 Harris 角点检测函数 **cv.cornerHarris()**。OpenCV 提供了函数 cv.cornerSubPix() 用于细化角点位置,细化了以亚像素精度检测到的角点位置。.........原创 2022-07-25 07:46:55 · 2238 阅读 · 0 评论 -
【OpenCV 例程 300篇】238. OpenCV 中的 Harris 角点检测
哈里斯-斯蒂芬斯角检测器(Harris and Stephens)的原理是,通过检测窗口在图像上移动,计算移动前后窗口中像素的灰度变化。角点是两条边的交点,其特征是检测窗口沿任意方向移动都会导致灰度的显著变化。 OpenCV 中提供了 Harris 角点检测函数 **cv.cornerHarris()**。............原创 2022-07-24 08:33:42 · 2167 阅读 · 1 评论 -
【OpenCV 例程 300篇】237. 基于主成分提取的方向校正(OpenCV)
主成分分析(Principal Components Analysis,PCA)是一种基于统计的数据降维方法,又称主元素分析、主分量分析。使用主成分分析方法,可以对目标进行归一化边界/区域,获得目标的主要方向。本例对于二维图像,通过 PCA 方法对目标进行方向校正。............原创 2022-07-19 08:30:00 · 2464 阅读 · 4 评论 -
【OpenCV 例程 300篇】236. 特征提取之主成分分析(OpenCV)
主成分分析(Principal Components Analysis,PCA)是一种基于统计的数据降维方法,又称主元素分析、主分量分析。在 Python 语言中,OpenCV 提供了 PCA 类的接口函数 **cv.PCACompute()**,**cv.PCAProject()** 和 **cv.PCABackProject()**。......原创 2022-07-22 08:00:00 · 2527 阅读 · 2 评论 -
【OpenCV 例程 300篇】235. 特征提取之主成分分析(sklearn)
主成分分析(Principal Components Analysis,PCA)是一种基于统计的数据降维方法,又称主元素分析、主分量分析。SKlearn 工具包提供了多种降维分析方法。sklearn.decomposition.PCA 类是 PCA算法的具体实现。**sklearn.decomposition.PCA(n_components=None, copy=True, whiten=False)** SKlearn 工具包针对实际问题的特殊性,发展了各种改进算法.........原创 2022-07-20 08:30:00 · 2322 阅读 · 2 评论 -
【OpenCV 例程 300篇】234. 特征提取之主成分分析(PCA)
主成分分析(Principal Components Analysis,PCA)是一种基于统计的数据降维方法,又称主元素分析、主分量分析。主成分分析只需要特征值分解,就可以对数据进行压缩、去噪,应用非常广泛。主成分分析的基本步骤是:对原始数据归一化处理后求协方差矩阵,再对协方差矩阵求特征向量和特征值;对特征向量按特征值大小排序后,依次选取特征向量,直到选择的特征向量的方差占比满足要求为止。..................原创 2022-07-21 08:30:00 · 4985 阅读 · 4 评论 -
【OpenCV 例程 300篇】247. 特征检测之最大稳定极值区域(MSER)
最大稳定极值区域(Maximally stable extremal regions,MSER)用于图像的斑点区域检测,具有仿射不变性重映射可以实现图像的变形、扭曲、反转等操作,实现图像数据的增强,提升深度模型的泛化能力。OpenCV 提供了函数 **cv2.remap** 用于实现图像的重映射。......原创 2022-12-01 18:55:12 · 3169 阅读 · 0 评论 -
【OpenCV 例程 300篇】233. 区域特征之矩不变量
矩是概率与统计中的一个概念,是随机变量的一种数字特征。不变矩 M1~M7 又称矩不变量, 在连续图像下具有平移、灰度、尺度、旋转不变性, 是高度浓缩的图像特征。 OpenCV 提供了函数 cv2.moments() 计算图像矩 Mu,函数 cv2.HuMoments() 计算目标轮廓的 Hu 不变矩。.........原创 2022-07-17 08:24:58 · 1221 阅读 · 0 评论 -
【OpenCV 例程 300篇】232. 特征描述之频谱方法
基于傅里叶变换对纹理进行频谱分析。如果纹理具有空间的周期性或确定的方向性,则一维函数 S(r) 和 S(\theta) 在对应的频率具有峰值一幅包含随机分布目标的图像和另一幅周期性排列目标的图像,在傅里叶变换的幅度谱具有不同的表现形式。......原创 2022-07-16 09:23:55 · 1670 阅读 · 0 评论 -
【OpenCV 例程 300篇】231. 特征描述之灰度共生矩阵(GLCM)
灰度共生矩阵是一种典型的统计方法,描述空间上具有某种分布规律的灰度值组合出现的概率。skimage 的特征提取库 skimage.feature 提供了函数 greycomatrix 和 greycoprops,可以 计算灰度共生矩阵并提取特征统计量 。.........原创 2022-07-18 08:30:00 · 8924 阅读 · 10 评论 -
【OpenCV 例程 300篇】230. 特征描述之 LBP 统计直方图
描述纹理的常用方法是使用图像或目标区域的统计直方图。将图像划分为若干子区域,对每个子区域内提取 LBP 特征后在子区域内建立 LBP 特征的统计直方图。图片的每个子区域可以用一个统计直方图来描述,整个图片就由若干个统计直方图组成,称为 LBP 特征的统计直方图(LBPH,Local Binary Patterns Histograms)。......原创 2022-07-15 08:30:00 · 3465 阅读 · 0 评论 -
【OpenCV 例程 300篇】229. 特征描述之 LBP 算子比较(skimage)
基本的 LBP 纹理特征描述随尺度变化。为了满足尺度、灰度和旋转不变性的要求,各种改进方法如 Extended LBP,Circular LBP,Rotation invariant,Uniform Patternskimage 的特征提取库 skimage.feature 提供了函数 local_binary_pattern,可以实现多种 LBP 特征描述算子。......原创 2022-07-14 08:21:58 · 1809 阅读 · 0 评论 -
【OpenCV 例程 300篇】227. 特征描述之 LBP 纹理特征算子
局部二值模式(LBP,Local binary patterns)描述图像局部纹理特征,具有旋转不变性和灰度不变性 。 纹理体现了物体表面的具有缓慢变化或者周期性变化的表面结构组织排列属性。纹理特征描述了图像或图像区域所对应景物的表面性质。本例程比较不同方法实现 LBP 的性能,同时考察 LBP 排列顺序的影响......原创 2022-07-12 09:23:47 · 2739 阅读 · 1 评论 -
【OpenCV 例程 300篇】226. 区域特征之紧致度/圆度/偏心率
针对目标所在区域的特征描述符(Region descriptors),称为区域特征描述子。(1)紧致度(Compactness)(2)圆度(Circularity)(3)偏心率(Eccentricity)例程 14.6:区域特征描述之紧致度,圆度和偏心率.........原创 2022-07-11 07:40:52 · 5665 阅读 · 1 评论 -
【OpenCV 例程 300篇】225. 特征提取之傅里叶描述子
傅里叶描述子的基本思想是用目标边界曲线的傅里叶变换来描述目标区域的形状,将二维描述问题简化为一维描述问题。傅里叶描述子具有旋转、平移和尺度不变性。例程表明,使用约 1% 的傅里叶描述子,就可以较好地描述边界曲线的基本形状。......原创 2022-07-23 10:01:51 · 3973 阅读 · 2 评论 -
【OpenCV 例程 300篇】224. 特征提取之提取骨架
骨架可以由区域的边界计算。提取骨架的常用方法是用重建开运算来实现。skimage 中提供了函数 **skimage.morphology.skeletonize** 可以获取图像的骨骼。原创 2022-07-10 08:00:00 · 6840 阅读 · 2 评论 -
【OpenCV 例程 300篇】223. 特征提取之多边形拟合(cv.approxPolyDP)
函数 cv.approxPolyDP 使用 Douglas-Peucker 算法求得一条顶点较少的多折线/多边形,以指定的精度近似输入的曲线或多边形。运行结果表明,用 13个顶点的多边形可以很好地逼近该轮廓的边界,描述轮廓的边界特征,显著降低了数据量。......原创 2022-07-07 09:52:04 · 13219 阅读 · 1 评论 -
【OpenCV 例程 300篇】222. 特征提取之弗里曼链码(Freeman chain code)
弗里曼链码(Freeman chain code)对每个线段的方向进行编号。通过对闭合边界曲线向下降采样,简化了初始轮廓,显著降低了数据量。本文案例来自 Gonzalez 数字图像处理(第四版),程序为作者原创。.........原创 2022-07-09 09:06:50 · 5550 阅读 · 10 评论