![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
计算机视觉opencv
文章平均质量分 73
01_6
人工智能...
Python..持续更新中...
有需要的宝子们快快关注...
展开
-
haarcascade能做什么?haarcascade识别介绍
haarcascade_frontalcatface_extended:同上。haarcascade_frontalface_alt_tree:同上。haarcascade_eye_tree_eyeglasses:对于。haarcascade_frontalface_default:同上。haarcascade_frontalface_alt2:同上。接下来依次说明每种xlm文件分别达成的检测。haarcascade_eye:检测。进行检测,没带眼镜的检测效果不好。检测(无论睁眼闭眼)检测(无论睁眼闭眼)原创 2024-06-16 04:57:09 · 280 阅读 · 0 评论 -
基于dlib和OpenCV的简单人脸表情识别
MAR(shape)通过计算嘴角点之间的欧氏距离与嘴角到下巴中心点的距离的比值来得到口角的张开度(Mouth Aspect Ratio)。原创 2024-06-21 01:46:42 · 570 阅读 · 0 评论 -
dlib库实现摄像头疲劳检测(附源代码)
本代码将实现通过分析人脸的关键点进行疲劳检测,若持续闭眼则提示危险;考虑到大笑时也会眯眼,在同时检测到张嘴和眯眼时不做提醒。原创 2024-06-17 16:25:35 · 417 阅读 · 0 评论 -
【 关于github中dlib提供的模型的详细介绍】
在GitHub中,dlib库提供了丰富的机器学习算法和工具,特别在人脸检测关键点检测图像处理等领域有出色的表现。训练自己的模型:通过使用dlib提供的机器学习工具,开发者可以训练自己的模型,如人脸标记模型、对象检测器等。dlib支持多种训练方法和评估指标,方便用户自定义模型的训练过程。dlib库提供了丰富的模型和工具,覆盖了从人脸检测到机器学习算法的多个领域。其中的人脸检测和关键点检测器在人脸分析领域有着广泛的应用,而特征提取模型和机器学习算法则为图像处理和模式识别任务提供了强大的支持。原创 2024-06-15 20:41:14 · 889 阅读 · 0 评论 -
【深度分析之harr级联分类器】
分类器需要对图像的多个特征进行识别。例如,在识别一个动物是狗(正类)还是其他动物(负类)时,直接根据多个条件进行判断流程是非常烦琐的。如果先判断该动物有几条腿,有四条腿的动物被判断为可能为狗,并对此范围内的对象继续进行分析和判断。没有四条腿的动物直接被否决,即不可能是狗。只通过比较腿的数目就能排除样本集中大量的负类(如鸡、鸭、鹅等不是狗的动物的实例)。级联分类器就是基于这种思路将多个简单的分类器按照一定的顺序级联而成的。Haar级联分类器是一种基于机器学习的目标检测算法,特别在人脸检测。原创 2024-06-14 21:03:49 · 1005 阅读 · 0 评论 -
EigenFace算法实现人脸识别
本代码将使用EigenFace算法实现人脸识别功能,并将其与已知的人脸进行匹配。原创 2024-06-14 20:04:51 · 438 阅读 · 0 评论 -
使用Pillow库在摄像头读取的画面上添加中文文本
由于OpenCV的Python库直接支持的中文字符集有限,所以本段代码使用了Pillow库来处理中文文本的渲染。img:要在其上添加文本的图像,应该是NumPy数组格式。text:要添加的文本字符串。position:文本在图像中的位置,格式为(x, y)。textColor:文本颜色的默认值,格式为BGR(这里是(0, 255, 0),表示绿色文本)。textSize:文本大小的默认值。原创 2024-06-11 21:35:34 · 429 阅读 · 0 评论 -
【OpenCV函数详解之cv2.calcOpticalFlowPyrLK(old_gray, frame_gray, p0, None, **lk_params)】
cv2.calcOpticalFlowPyrLK() 是 OpenCV 库中用于计算两幅图像之间稀疏光流(Sparse Optical Flow)的方法之一。光流是指图像中物体在不同时间点的位置移动。这个函数通过 Lucas-Kanade 方法来跟踪图像中的关键点(feature points)在后续帧中的位置。需要传入前一帧和当前图像以及前一帧检测到的角点,用于获得光流检测后的角点位置。原创 2024-06-03 22:56:06 · 1039 阅读 · 0 评论 -
混合高斯背景减除算法实现背景建模
本代码将实现视频中的背景和前景分离,并定位行人。原创 2024-06-03 20:22:39 · 277 阅读 · 0 评论 -
【cv2.drawContours()函数详解和示例】
cv2.drawContours() 是 OpenCV 库中用于绘制轮廓的函数。它的功能是根据轮廓数据在图像上绘制轮廓线条或填充轮廓。cv2.drawContours() 是一个非常有用的函数,可以在图像上绘制检测到的轮廓,方便进行形状分析、对象识别等操作。通过调整参数,可以实现各种绘制效果。原创 2024-06-02 21:27:44 · 1479 阅读 · 0 评论 -
sift算法实现指纹验证
本代码将使用SIFT特征检测和FLANN匹配器来比较两枚指纹是否与模板指纹匹配。原创 2024-06-02 20:26:20 · 347 阅读 · 0 评论 -
【GMM高斯混合模型】
GMM高斯混合模型(Gaussian Mixture Model, GMM)是一种概率模型,用于表示具有多个高斯分布成分的数据集。它通过假设数据由多个高斯分布的子集组成,从而适用于数据聚类、密度估计等任务。原创 2024-06-01 14:35:48 · 734 阅读 · 0 评论 -
【详解之OpenCV中的findHomography()函数 和 cv2.warpPerspective()函数】
cv2.findHomography() 是 OpenCV 中的一个函数,用于找到两个图像之间的单应性矩阵(Homography matrix)。在计算机视觉中,单应性矩阵是一个3x3的矩阵,它描述了两个平面之间的相对位置关系,通常用于图像配准、图像拼接、全景图像生成等应用中。#计算视角变换矩阵,透视变换函数,与cv2.getPerspectiveTransform()的区别在与可多个数据点变换#参数srcPoints:图片B的匹配点坐标#参数dstPoints:图片A3的匹配点坐标。原创 2024-05-29 23:31:41 · 2531 阅读 · 0 评论 -
使用OpenCV进行图像特征匹配和融合的实践
图像特征匹配和融合在计算机视觉领域中扮演着重要的角色,它们被广泛应用于图像识别、拼接、跟踪等任务中。特征匹配可以帮助我们找到图像之间的对应关系,从而实现目标检测、图像配准等功能。图像融合则可以将多幅图像融合为一幅完整的图像,提高图像质量或扩展视野。原创 2024-05-29 13:52:35 · 330 阅读 · 0 评论 -
图像的融合拼接
图像的融合拼接通常是指将多个图像无缝或尽可能自然地拼接在一起,形成一个更大的图像。本代码将使用特征点匹配和透视变换实现两张图片的拼接融合。原创 2024-05-28 20:59:05 · 326 阅读 · 0 评论 -
【特征检测:harris角点检测】
cornerHarris(img,blockSize,ksize,k[,dst[,borderType]]) -> dst # img:输入图像 # blockSize:角点检测中要考虑的领域大小 # ksize:Sobel求导中使用的窗口大小 # k: Harris角点检测方程中的自由参数,取值参数为[0.04,0.06],算法中的参数。## dst: 返回numpy.ndarray对象,大小和src相同,值越大,对应像素点是角的概率越高。原创 2024-05-27 23:57:04 · 149 阅读 · 0 评论 -
详解图像的透视变换(附完整代码)
图像的透视变换(Perspective Transformation)是指将图像从一个视角投影到另一个视角的变换过程,通常用于校正图像中的透视失真或实现图像的透视变换效果。透视变换可以改变图像的视角、大小和形状,使得图像在不同视角下的内容呈现更加准确或艺术效果更加突出。本代码将实现识别图像中一个四边形的内容区域,将其变换为一个矩形并进行二值化处理后输出。原创 2024-05-27 21:45:18 · 903 阅读 · 0 评论 -
【OpenCV高阶 之 图像金字塔 AND 图像直方图】
为了在向上采样是能够恢复具有较高分辨率的原始图像,就要获取在采样过程中所丢失的信息,这些丢失的信息就构成了拉普拉斯金字塔。也是拉普拉斯金字塔是由向下采样时丢失的信息构成。这意味着,向上采样的结果图像的大小是原始图像的4倍。也就是说,对一幅图像先向上采样、再向下采样,是无法恢复其原始状态的;通过标记帧和帧之间显著的边缘和颜色的统计变化,来检测视频中场景的变换。是一种图像增强技术,它可以通过增加图像的对比度和亮度来改善图像的质量。向上采样和向下采样是相反的两种操作。式中:Li:表示拉普拉斯金字塔中的第i层。原创 2024-05-22 12:57:22 · 1014 阅读 · 0 评论 -
opencv中图像的直方图操作
OpenCV库中的直方图是一个非常有用的工具,用于图像处理和计算机视觉任务。直方图在图像处理中主要用于表示图像中像素值的分布情况。通过分析直方图,我们可以得到图像的许多有用信息,例如亮度分布、对比度和颜色分布等。原创 2024-05-21 19:43:48 · 1078 阅读 · 0 评论 -
Python中的直方图均衡化技术及应用
直方图均衡化是一种强大的图像增强技术,可用于改善图像对比度并使图像更易于分析和处理。在Python中,通过使用OpenCV等库,可以方便地实现直方图均衡化。然而,在实际应用中,需要根据具体情况综合考虑其优缺点,并可能需要进行参数调整以获得最佳效果。原创 2024-05-21 18:16:41 · 328 阅读 · 0 评论 -
【自适应直方图均衡化】的详解 AND 深度分析
自适应直方图均衡化(Adaptive Histogram Equalization,AHE)是一种用于图像增强的方法,它的原理是将图像的灰度级分布进行调整,使得图像的对比度增强,细节信息更加明显。通过将图像分成多个小块并对每个小块进行直方图均衡化,可以更好地处理图像中的局部对比度变化,避免传统直方图均衡化中的过度增强和噪声引入问题。与普通的直方图均衡算法不同,AHE 算法对图像的局部区域进行处理,更适合于改进图像的局部对比度以及获得更多的图像细节。的,因为它会根据图像的局部特性来调整均衡化的效果。原创 2024-05-22 11:12:00 · 1030 阅读 · 0 评论 -
设置图像掩膜并绘制对应直方图
设置图像掩膜并绘制对应直方图原创 2024-05-21 21:39:53 · 382 阅读 · 0 评论 -
sorted() 函数:排序的利器
sorted()函数是 Python 中的内置函数,用于对可迭代对象进行排序。iterable:表示需要排序的可迭代对象,例如列表、元组、集合等。key:指定一个函数,用于生成排序的比较键。默认为None,表示直接比较元素本身。reverse:一个布尔值,用于指定排序顺序。默认为False,表示升序排序;设置为True则表示降序排序。1、keyreturn word[-1] # 按单词的最后一个字母排序。原创 2024-05-20 18:53:03 · 885 阅读 · 0 评论 -
图像识别中的排序功能
w存储的是一个四元组,代表的分别是,横坐标,纵坐标,长宽,对于从左向右的图片只需选择横坐标变动即可。在图像处理中,无论是物体的检测和识别,或是图像的匹配,又或者是图像的测量与分析。首先我们这里自定义了一个排序函数,这个函数需要传入两个参数,cnts是一张图片里面的轮廓数,method代表的是排序方向,从上到下,从左到右啊,各有不同。zip函数:接受多个可迭代对象作为参数,返回一个迭代器,该迭代器生成元组,每个元组包含来自每个可迭代对象的相应位置的元素。该变量用于确定排序的方向,同时初始变量i设为1。原创 2024-05-20 20:21:52 · 270 阅读 · 0 评论 -
了解Python中的enumerate函数
enumerate函数是一个用于将可迭代对象转换为枚举对象的内置函数。它为每个元素添加一个索引,并返回一个包含索引和元素值的元组。这样,我们可以同时访问索引和元素值,从而更方便地进行迭代操作。原创 2024-05-20 21:24:06 · 205 阅读 · 0 评论 -
【深度分析之OpenCV中的 -- > cv2.getStructuringElement()函数】
cv2.getStructuringElement() 是 OpenCV 中的一个函数,用于生成一个结构元素,这个结构元素主要用于形态学操作,如膨胀、腐蚀、开运算和闭运算。这些形态学操作在处理图像时特别有用,尤其是在去噪、边缘检测、填充孔洞等场景中。原创 2024-05-21 01:30:16 · 1834 阅读 · 0 评论 -
使用argparse库传递参数的两种方式
argparse库用于解析命令行参数,通常用于从命令行传入参数以控制程序。此处将示范两种传递参数的方式,分别是pycharm中和命令提示符中。原创 2024-05-20 21:27:16 · 482 阅读 · 0 评论 -
OpenCV中轮廓检测的实现与参数解析
OpenCV是一个广泛应用于计算机视觉和图像处理领域的开源库,提供了丰富的功能和工具来处理图像数据。其中,轮廓检测是一项重要的技术,用于识别图像中的对象边界并进行进一步的分析和处理。本文将介绍OpenCV中轮廓检测和绘制的基本原理和方法。原创 2024-05-17 00:26:52 · 1062 阅读 · 0 评论 -
OpenCV图像处理入门:图片的修改与运算
本文使用的图片如下1.jpg2.jpg。原创 2024-05-13 23:22:15 · 170 阅读 · 0 评论 -
OpenCV轮廓检测:轮廓特征(周长与面积)
现求该轮廓区域的周长与面积。以上图为例,输出结果为下。原创 2024-05-16 22:30:59 · 236 阅读 · 0 评论 -
opencv库中的外接圆和外接矩形的实现
在opencv库中外接矩形是一种常见的边界框表示方法,在图像处理和计算机视觉应用中用于标注目标对象,以便用户或算法更好地理解和处理图像内容。通过计算外接矩形的宽度、高度和旋转角度,可以获得关于形状的信息,如长宽比、旋转程度等。外接圆的半径可以用于描述形状的大小。外接矩形和外接圆可以用作图像配准的特征描述符,提取用于图像配准的特征信息,如角点、边缘等。这里就实现外接圆和外接矩形做一些简单示例。原创 2024-05-16 22:19:12 · 1118 阅读 · 0 评论 -
使用cv2.approxPolyDP()对图像进行轮廓近似
cv2.approxPolyDP()是 OpenCV 中的一个函数,用于对轮廓进行多边形逼近。它采用 Douglas-Peucker 算法,将原始轮廓逼近为一个具有指定精度的多边形,从而减少轮廓的点数,简化后续的处理步骤。原创 2024-05-16 21:48:15 · 877 阅读 · 0 评论 -
【OpnenCV中的模板匹配是什么?】
上图可知:max_loc=(179,205),即最大值所在的位置在第179列,第205行,也就是template.png在kele.png中匹配程度最高的所在位置。OpenCV 中的模板匹配是在一幅图像中寻找一个特定目标的方法之一,其原理是遍历图像中的每一个可能的位置,比较各处与模板是否“通过以上步骤,你可以使用OpenCV进行模板匹配,找到原始图像中与模板图像相匹配的部分,并在原始图像中标记出来。模板匹配是一种在图像中查找与已知模板最相似区域的技术。用于在给定的矩阵中寻找最大和最小值,并给出它们的位置。原创 2024-05-16 21:32:14 · 1104 阅读 · 0 评论 -
OpenCV边缘检测:Sobel算子(圆形轮廓示例)
本文将以下左图为例,分三步完成对该圆形的边缘检测,结果为右图。原创 2024-05-16 00:01:11 · 511 阅读 · 0 评论 -
OpenCV中的中值滤波:原理、应用与实现
中值滤波是一种简单而有效的图像处理技术,在很多场景下都有着广泛的应用。通过OpenCV提供的函数,我们可以轻松地在Python中实现中值滤波,并在各种图像处理任务中受益。希望这篇博客对你有所帮助!原创 2024-05-15 18:11:36 · 657 阅读 · 0 评论 -
OpenCV库中的腐蚀与膨胀
算法步骤:对于图像中的每个像素,将结构元素与其对应位置进行比较,如果结构元素完全包含在图像中,则保留中心像素值,否则将中心像素置为背景值。算法步骤:对于图像中的每个像素,将结构元素与其对应位置进行比较,只要结构元素与图像有交集,中心像素值就被置为前景值。腐蚀(Erosion): 腐蚀操作的原理是将结构元素在图像上滑动,只有当结构元素完全与图像重叠时,中心像素值才被保留,否则被置为背景值。膨胀(Dilation): 膨胀操作的原理是将结构元素在图像上滑动,只要结构元素与图像有交集,中心像素值就被置为前景值。原创 2024-05-15 22:52:47 · 242 阅读 · 0 评论 -
OpenCV库中的开运算,闭运算,顶帽,黑帽,梯度
在图像处理和计算机视觉领域,形态学运算是一类重要的工具,用于分析和处理图像的结构和形态特征,而说起来开运算,闭运算等就不得不说图像处理中的腐蚀和膨胀(在别的篇幅里)而开闭运算则是在腐蚀和膨胀的基础上对图像进行处理。而顶帽与黑帽则是在这基础上更上级的操作。原创 2024-05-14 21:28:46 · 707 阅读 · 1 评论 -
【Scharr算子是什么?】
Scharr 算子是 Soble算子在 ksize=3 时的优化,与 Soble的速度相同,且精度更高。Scharr 算子与 Sobel 算子的不同点是在平滑部分,其中心元素占的权重更重,相当于使用较小标准差的高斯函数,也就是更瘦高的模板。它是一种近似于Sobel算子的算子,但相对于Sobel算子,Scharr算子具有更好的性能,特别是在处理边缘方向不明显的图像时。Scharr算子相对于Sobel算子具有更平滑的响应特性,这意味着它在处理图像时会产生更加平滑的边缘响应,有助于减少噪声的影响。原创 2024-05-14 22:54:53 · 1192 阅读 · 0 评论 -
使用Laplacian算子检测图像边缘
Laplacian算子是一种常用的图像处理算子,用于计算图像的二阶导数,常用于边缘检测。它可以突出图像中的变化和边缘信息,并且对噪声具有一定的平滑作用,它以圆方向计算变化率。在OpenCV中,可以使用函数来应用Laplacian算子进行图像处理。1.src:输入图像。可以是灰度图像或多通道彩色图像,数据类型为uint8或float64。2.ddepth:输出图像的深度,通常设置为-1表示输出图像与输入图像相同的深度。如果希望结果为64位浮点数,则可以使用cv2.CV_64F。3.ksize。原创 2024-05-14 21:24:30 · 767 阅读 · 0 评论 -
【窗口函数】
常见的窗口函数包括ROW_NUMBER()、RANK()、DENSE_RANK()等用于排名的函数,SUM()、MIN()、MAX()、AVG()等用于聚合的函数,以及LAG()、LEAD()等用于获取前后行数据的函数。中,窗口函数(也称为泊松化函数或锥形函数)是一种数学函数,它在某个选择的区间之外其值为零,在区间中间对称,通常在中间达到最大值,并且通常从中间逐渐减少。它可以对查询结果集中的行进行分组、排序,并在每个分组内进行聚合、排名、计算等操作,而不会改变原始查询结果的行数或顺序。原创 2024-05-13 23:42:49 · 696 阅读 · 0 评论