![](https://img-blog.csdnimg.cn/20190528082504883.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
opencv-python
文章平均质量分 78
使用Python调用OpenCV库,掌握OpenCV中常用的图像处理方法。结合讲解和代码运行结果共同学习。主要参考官网资料、相关书籍以及自己做项目的经历。
图灵追慕者
计算机研究生,IT公司高级技术经理,从事人工智能的研究。
展开
-
深度学习之OpenCV的DNN模块
OpenCV的DNN模块提供以下主要功能:1.加载和运行深度学习模型:支持从各种框架导入预训练的深度学习模型,并在OpenCV中执行推理。2.图像预处理和后处理:提供了多种图像预处理和后处理功能,如图像缩放、归一化、颜色转换、非极大值抑制等。3.支持多种硬件加速:支持使用CPU、GPU(通过OpenCL和CUDA)、Intel的Inference Engine等进行硬件加速。4.易于集成:与OpenCV的其他模块无缝集成,便于在计算机视觉项目中使用。原创 2024-07-04 09:18:23 · 739 阅读 · 1 评论 -
OpenCV-Python不同版本更新的内容
总的来说,OpenCV-Python在不同版本更新中不断增加了新的功能模块,改进了已有的功能,提高了性能和稳定性,增强了对深度学习的支持。:新增了对TensorFlow Lite模型的支持,改进了dnn模块,增强了深度学习功能。:增加了对Python 3.8的支持,改进了dnn模块,提供了更好的深度学习功能。:改进了GPU模块,增加了对NVIDIA CUDA的支持,提高了性能。:增加了对Python 3.9的支持,改进了GPU模块,提升了性能。:引入了全新的跟踪模块,支持多种跟踪算法,改进了视频分析功能。原创 2024-06-28 15:49:36 · 389 阅读 · 0 评论 -
图像旋转角度计算并旋转
以上代码仅仅是讲解介绍了图像旋转的计算及矫正原理,实际上准确度受不同图像的影响较大,不过里面使用的相关图像变换的函数值得借鉴参考学习。原创 2024-01-24 11:38:26 · 1116 阅读 · 0 评论 -
OpenCV图像相似性及相似度比对算法
在做图像处理或者计算机视觉相关的项目的时候,很多时候需要我们对当前获得的图像和上一次的图像做相似性比对,从而找出当前图像针对上一次的图像的差异性和变化点,这需要用到OpenCV中的一些图像相似性和差异性的比对算法。原创 2023-12-06 08:33:19 · 6955 阅读 · 0 评论 -
dav格式视频播放及转换
有一个同事找我帮个忙,让我帮他读取以下一段视频,因为视频在他的电脑上无法播放。等他把视频发给我查看之后发现视频不是常用见的格式,是监控视频常用的dav格式,于是想到了使用转换视频格式的方式来实现目的需求。原创 2024-01-24 09:36:51 · 1500 阅读 · 0 评论 -
OpenCV-Python(51):基于Haar特征分类器的面部检测
使用所有可能的核来计算足够多的特征。对于每一个特征的计算我们需要计算白色和黑色矩形内的像素和。为了解决这个问题,作者引入了积分图像,这可以大大的简化求和计算,对于任何一个区域的像素和只需要对积分图像上的四个像素操作即可。开始时,算法需要大量的正样本图像(面部图像)和负样本图像(不含面部的图像)来训练分类器。每一个特征是一个值,这个值等于黑色矩形中的像素值之后减去白色矩形中的像素值之和。它是基于机器学习的,通过使用大量的正负样本图像训练得到一个cascade_function,最后再用它来做对象检测。原创 2024-01-20 16:48:16 · 550 阅读 · 0 评论 -
OpenCV-Python(49):图像去噪
在这种情况下temporaWindowSize 帧的图像会用于去噪,中间的帧就是要去噪的帧。所以我们可以选取包含目标像素的一个小窗口,然后在图像中搜索相似的窗口,最后求取所有窗口的平均值,并用这个值取代目标像素的值。考虑图像中一个小的窗口(5x5)有很大可能图像中的其它区域也存在一个相似的窗口。考虑一个带噪声的像素点p = p0 + n,其中p0 为像素的真实值,n 为这个像素的噪声。简单来说,像素级别的噪声去除是限制在局部领域的。第一张图是原始图像,第二个是带噪音量图像,第三个是去噪之后的图像。原创 2024-01-20 14:17:09 · 1401 阅读 · 0 评论 -
OpenCV-Python(48):K均值聚类
肯定不能把每个大小的T 恤都生产出来,所以他们把所有的人分为三组,小,中,大,这三组要覆盖所有的人。现在对这个算法有很多改,比如,如何选取好的初始重心点,怎样加速迭代过程等。聚类完成后,我们用聚类中心值替换与其同组的像素值,这样结果图片就只含有指定数目的颜色了。重新计算所有蓝色点的重心和所有红色点的重心,并以这两个点更新重心点的位置。计算每个点到这两个重心点的距离,如果距离C1 比较近,就标记为0,如果距离C2 比较近,就标记为1。在我们的例子中我们把属于0 的标记为红色,属于1 的标记为蓝色。原创 2024-01-20 10:04:15 · 1058 阅读 · 0 评论 -
OpenCV-Python(47):支持向量机
如下图所示,其中含有两类数据,红的和蓝的。如果是使用kNN算法,对于一个测试数据我们要测量它到每一个样本的距离,从而根据最近的邻居分类。测量所有的距离需要足够的时间,并且需要大量的内存存储训练样本。但是分类下图所示的数据真的需要占用这么多资源吗?我们在考虑另外一个想法。我们找到了一条直线f (x) = ax1 + bx2 + c,它可以将所有的数据分割到两个区域。当我们拿到一个测试数据X 时,我们只需要把它代入f (x)。如果|f (X) | > 0,它就属于蓝色组,否则就属于红色组。我们把这条线称为。原创 2024-01-18 10:48:02 · 1250 阅读 · 0 评论 -
OpenCV-Python(46):基于KNN的手写数字OCR识别
每个数字是一个20x20的小图。我们在将拆分后的每一个数字的图像重排成一行含有400个像 素点的新图像。我们使用每个数字的前250个样本做训练数据,剩余的250个做测试数据。改善准确度的一个办法是提供更多的训练数据,尤其是判断错误的那 些数字。为了避免每次运行程序都要准备和训练分类器,我们最好把它保留, 这样在下次运行是时,只需要从文件中读取这些数据开始进行分类就可以了。由于我们现在使用灰度值 (unint8)作为特征,在保存之前最好先把这些数据装换成np.uint8格式,这样就只需要占用1.1M的空间。原创 2024-01-18 08:58:16 · 543 阅读 · 0 评论 -
OpenCV-Python(45):立体图像中的深度地图
x 和x' 分别是图像中的点到3D 空间中的点和到摄像机中心的距离。上面的等式告诉我们点的深度与x 和x' 的差成反比。立体视觉是通过将两个或多个摄像机(或图像)的视角结合起来,计算物体的深度信息。而结构光技术则是通过投射特定的光纹或模式到场景中,然后通过观察光纹的形变来计算物体的深度。我们可以确定,如果同一场景有两幅图像的话我们在直觉上就可以获得图像的深度信息。下面的这幅图和其中的数学公式可以证明我们的直觉是对的。:这个函数可以将视差图转换为三维点云,其中每个点的坐标表示其在世界坐标系中的位置。原创 2024-01-17 08:51:08 · 572 阅读 · 0 评论 -
OpenCV-Python(44):对极几何
简单来说,基础矩阵 F 将一副图像中的点映射到另一幅图像中的线(极线)上。如果只是用一台摄像机我们不可能知道 3D 空间中的X 点到图像平面的距离,因为OX 线上的每个点投影到图像平面上的点都是相同的。从上面的示意图可以看出,右侧摄像机的中心O' 投影到左侧图像平面的e 点,这个点就被称为极点。因此点e' 是左侧摄像机的极点。比如说图像的深度,或者说图像上的点和摄像机的距离,因为这是一个从3D 到2D 的转换。它可能在这条直线上某个位置(这意味着对两幅图像的匹配特征的二维搜索就变成了沿着极线的一维搜索。原创 2024-01-16 16:57:14 · 979 阅读 · 0 评论 -
OpenCV-Python(42):摄像机标定
现在为了求X,Y 的值,我们只需要传入这些点(0,0),(1,0),(2,0)...它们代表了点的位置。在这个例子中,我们的结果的单位就是棋盘(单个)方块的大小。但是如果我们知道单个方块的大小(假如30mm),我们输入的值就可以是(0,0),(30,0),(60,0)...结果的单位就是mm。重要的是在进行摄像机标定时我们需要输入一组3D 真实世界中的点以及与它们对应2D 图像中的点。2D 图像的点可以在图像中很容易的找到。这种畸变会造成图像中的某些点看上去的位置会比我们认为的位置要近一些。原创 2024-01-16 14:47:20 · 1148 阅读 · 0 评论 -
OpenCV-Python(43):姿势估计
简单来说,我们在图像平面上找到了与3D 空间中的点(3,0,0),(0,3,0),(0,0,3) 相对应的点。然后我们就可以使用我们的函数draw() 从图像上的第一个角点开始绘制连接这些点的直线了。所以,如果我们知道对象在空间中的姿势,我们就可以在图像中绘制一些2D 的线条来产生3D 的效果。我们的问题是,在棋盘的第一个角点绘制3D 坐标(X,Y,Z轴)。现在创建一个函数:draw,它的参数有棋盘上的角点(使用cv2.findChessboardCorners() 得到)和要绘制的3D 坐标轴上的点。原创 2024-01-16 09:39:05 · 1018 阅读 · 0 评论 -
OpenCV-Python(41):背景减除
在x,y 平面上一个像素就是一个像素没有分布,但是我们现在讲的背景建模是基于时间序列的,因此每一个像素点所在的位置在整个时间序列中就会有很多值,从而构成一个分布。但是在大多数情况下,我们没有这样的(背景)图像,所以我们需要从我们已有的图像中提取背景。这是一种自适应的估计,新观察到的对象比旧的对象具有更高的权重,从而对光照变化产生适应。这个算法的一个特点是它为每一个像素选择一个合适数目的高斯分布(上一个方法中我们使用是K高斯分布)。函数是OpenCV库中的一个背景减除算法函数,用于从视频序列中提取前景对象。原创 2024-01-15 16:37:49 · 997 阅读 · 0 评论 -
OpenCV-Python(40):光流算法
由于目标对象或者摄像机的移动造成的图像对象在连续两帧图像中的移动被称为光流。它是一个2D 向量场,可以用来显示一个点从第一帧图像到第二帧图像之间的移动。如下图所示:上图显示了一个点在连续的五帧图像间的移动。箭头表示光流场向量。光流算法是一种用于估计图像序列中像素运动的计算机视觉技术。1. 在连续的两帧图像之间(目标对象)的像素的灰度值不改变。2. 相邻的像素具有相同的运动根据这个假设,光流算法通过计算相邻帧之间的像素差异来确定像素的运动方向和速度。原创 2024-01-15 11:49:24 · 1797 阅读 · 0 评论 -
OpenCV-Python(39):Meanshift和Camshift算法
初始窗口是蓝色的"C1",它的圆心为蓝色方框“C1_o”,而窗口中所有点质心却是“C1_r”(小的蓝色圆圈),很明显圆心和点的质心没有重合。此时又可以找到新窗口内所有点的质心,大多数情况下还是不重合的,所以重复上述的操作:将新窗口的中心移动到新的质量心。它的原理是通过数据点的密度分布来确定聚类中心,然后将数据点移动到离其最近的聚类中心,并不断迭代这个过程,直到收敛为止。3.在窗口内计算数据点的质心(即所有数据点的平均位置),作为新的聚类中心。4.将数据点移动到离其最近的聚类中心,并更新聚类中心的位置。原创 2024-01-15 09:18:18 · 1202 阅读 · 0 评论 -
OpenCV-Python(36):ORB算法
在上述示例中,创建ORB特征检测器和描述符时,通过参数设置了最大特征点数量为500,尺度金字塔的缩放因子为1.2,尺度金字塔的层数为8,边缘阈值为31,特征描述符的窗口大小为31,FAST角点检测的阈值为20。1.速度快:ORB算法采用了FAST角点检测器,该检测器在保持较高的角点检测质量的同时,具有很高的计算效率。此外,ORB采用了特征点优化和快速匹配算法,进一步提高了算法的速度。3.尺度不变性:ORB算法使用了尺度金字塔来检测不同尺度下的特征点,并对特征描述符进行尺度归一化,使得算法具有尺度不变性。原创 2024-01-13 14:46:28 · 603 阅读 · 0 评论 -
OpenCV-Python(34):FAST算法
FAST算法(Features from Accelerated Segment Test)是一种用于在图像中快速检测角点的算法。它是一种基于像素的检测方法,具有高效、准确的特点,常用于计算机视觉领域中的特征点提取、图像匹配等任务。FAST算法的优点是速度快(比其它角点检测算法都快),适用于实时的图像处理任务。但它也有一些限制,例如对于图像噪声较多或纹理不明显的情况下,检测结果可能不准确(噪声很高时不稳定)。原创 2024-01-13 14:36:35 · 1120 阅读 · 0 评论 -
OpenCV-Python的版本介绍及区别
OpenCV-Python有多个版本,每个版本都有其特定的功能和改进。这是OpenCV-Python的旧版本,支持Python 2.x。它包含了许多传统的计算机视觉功能,如图像处理、特征提取、图像匹配等。然而,它不再得到官方支持和更新,因此不推荐使用。这是OpenCV-Python的重要版本升级,支持Python 2.x和3.x。它引入了许多新的功能和改进,包括等。它还对性能进行了优化,提供了。然而,由于API的变化,需要修改现有的代码以适应新的API。原创 2024-01-13 09:42:16 · 2520 阅读 · 0 评论 -
OpenCV-Python(35):BRIEF算法
BRIEF()是一种用于计算机视觉中特征点描述子的算法。它是一种,通过比较图像上不同位置的像素值来生成特征点的描述子。BRIEF算法的基本思想是选取一组固定的像素对,并比较这些像素对之间的。对于每一个像素对,如果第一个像素的亮度大于第二个像素的亮度,则将该像素对的比较结果设为1,否则设为0。将所有像素对的比较结果串联起来,就得到了该特征点的二进制描述子。BRIEF算法的优点是计算速度快、内存消耗小,。然而,由于BRIEF算法只比较像素的亮度差异,而没有考虑像素的空间关系,因此。原创 2024-01-12 17:06:31 · 1385 阅读 · 0 评论 -
OpenCV-Python(33):SURF算法
需要以特征点为中心,以6s(s 为特征点的尺度)为半径的圆形区域内,对图像进行 Harr 小波相应运算。这样做实际就是对图像进行梯度运算,但是利用积分图像,可以提高计算图像梯度的效率,为了求取主方向值,需要设计一个以方向为中心,张角为60 度的扇形滑动窗口,以步长为0.2 弧度左右旋转滑动这个窗口并对窗口内的图像Haar 小波的响应值进行累加。学习了解过SIFT 算法后我们知道,它是对图像关键点进行检测和描述的,具有尺度不变的特性,但是这种算法的执行速度比较慢,人们需要速度更快的算法。下图显示了这种近似。原创 2024-01-12 10:20:27 · 917 阅读 · 0 评论 -
频率阈图像滤波
频率阈图像滤波是一种在频域中进行图像处理的方法,它基于图像的频率分布来实现滤波效果。通过频率阈图像滤波,可以实现一些常见的图像处理任务,如去噪、边缘检测、图像锐化等。但是需要注意,频率阈图像滤波对于图像中的高频细节信息可能会有损失,因此在选择滤波器和阈值时需要平衡图像的细节保留和滤波效果。原创 2024-01-10 15:18:36 · 581 阅读 · 0 评论 -
OpenCV-Python(28):基于GrabCut 算法交互式前景提取
GrabCut算法是一种基于图像分割的算法,用于将图像中的前景物体从背景中准确地分离出来。它是由Carsten Rother等人于2004年提出的。GrabCut算法的基本思想是通过迭代的方式将图像分成前景和背景两部分。它首先需要用户提供一个包含前景物体的矩形框,然后通过迭代的方式对图像进行分割。在每一次迭代中,算法会根据像素的颜色和纹理信息,以及前景和背景的模型,对像素进行分类。然后,算法会根据分类结果更新前景和背景的模型,并进行下一次迭代。直到算法收敛为止,得到最终的前景和背景分割结果。原创 2024-01-05 14:59:27 · 985 阅读 · 0 评论 -
OpenCV-Python(22):直方图反向投影
直方图反向投影是一种基于图像颜色分布的图像处理技术,它通过计算图像中不同区域的颜色直方图,并将其与目标区域的直方图进行比较,从而实现目标的识别和分割。本文将介绍直方图反向投影的原理和应用,并探讨其在计算机视觉任务中的重要性。原创 2024-01-02 10:08:22 · 966 阅读 · 0 评论 -
OpenCV-Python(22):2D直方图
灰度值。但是在2D 直方图中我们就需要考虑两个图像特征。对于彩色图像的直方图通常情况下我们需要考虑每个的颜色(Hue)和饱和度(Saturation)根据这两个特征绘制2D 直方图。2D直方图是一种用于描述二维图像的统计工具,它可以用来表示图像中不同像素值的分布情况。与一维直方图类似,2D直方图将图像中每个像素的坐标映射到一个二维直方图中的一个bin中,从而得到一个二维数组。在2D直方图中,x轴和y轴分别表示图像中的两个像素值的范围,而每个bin的高度表示在该像素值范围内的像素的数量。原创 2024-01-02 11:05:23 · 1055 阅读 · 0 评论 -
OpenCV-Python(25):Hough直线变换
函数执行霍夫直线变换,并设置了一些参数,例如距离分辨率、角度分辨率和阈值。最后,根据检测到的直线参数绘制直线,并显示结果图像。在这个示例中,首先加载图像并将其转换为灰度图像。然后使用Canny边缘检测算法检测图像的边缘。原创 2024-01-05 13:57:04 · 1286 阅读 · 0 评论 -
OpenCV-Python(24):模板匹配
模板匹配是一种常用的图像处理技术,它用于。模板匹配的基本思想是将模板图像在目标图像上滑动,并计算它们的相似度,找到相似度最高的位置即为匹配位置。下面介绍一种模板匹配算法——平方差匹配算法(Sum of Squared Differences, SSD)。算法步骤:1.加载目标图像和模板图像。2.将模板图像在目标图像上滑动,计算每个位置的相似度。3.找到相似度最高的位置即为匹配位置。在上述代码中,我们首先加载了目标图像和模板图像,然后使用函数进行模板匹配,得到匹配结果。最后,通过。原创 2024-01-03 17:00:58 · 1619 阅读 · 0 评论 -
OpenCV-Python(23):傅里叶变换
傅里叶变换是一种数学变换,用于将一个函数(在图像处理中通常是图像)从时域(空域)转换到频域。它将函数表示为一系列正弦和余弦函数的和,用于分析信号的频率和相位信息。傅里叶变换的原理是将一个连续的信号或离散的序列分解为一系列简单的正弦和余弦函数,这些函数是基函数或正交函数。傅里叶变换可以将一个信号分解为不同频率的成分,这些成分包含了信号的频谱信息。傅里叶变换是线性的,可以将多个信号的变换结果相加,得到它们的叠加信号的变换结果。在图像处理中,傅里叶变换可以用于分析图像的频谱信息,包括低频和高频成分。原创 2024-01-03 16:32:51 · 1015 阅读 · 0 评论 -
OpenCV-Python(22):直方图均衡化
这些术语描述了直方图在图像处理和计算机视觉中的不同应用和操作。根据具体的问题和需求,可以选择合适的直方图方法来处理图像,本文主要讲解一下直方图均衡化的原理与作用。原创 2023-12-30 16:52:05 · 446 阅读 · 0 评论 -
OpenCV-Python(22):直方图的计算绘制与分析
接着,调用cv2.calcHist()函数计算灰度图像的直方图,其中channels参数为[0]表示只计算灰度通道的直方图,mask参数为None表示计算整个图像的直方图,histSize参数为[256]表示直方图分成256个bin,ranges参数为[0, 256]表示像素值的范围为0到255。那么到底要怎么做呢?通过分析图像的直方图,可以了解图像的亮度分布情况,进而进行亮度调整,使图像更加清晰、明亮或暗淡。通过分析图像的直方图,可以找到合适的阈值,将图像分成不同的区域,达到目标检测和图像分割的目的。原创 2023-12-30 16:11:19 · 2185 阅读 · 0 评论 -
OpenCV-Python(21):轮廓层次结构
通常我们使用函数cv2.findContours 在图片中查找一个对像。有时对可能位于不同的位置,还有些情况,一个形状在另外一个形状的内部。这种情况下我们称外部的形状为父,内部的形状为子。按照这种方式分类,一幅图像中的所有轮廓之间就建立父子关系。这样我们就可以确定一个轮廓与其他轮廓是怎样连接的,比如它是不是某个轮廓的子轮廓或者是父轮廓。这种关系就成为组织结构,下图就是一个简单的例子:在这幅图像中,我给这几个形状编号为0-5。2 和2a 分别代表最外矩形的外轮廓和内轮廓。原创 2023-12-29 10:07:27 · 1005 阅读 · 0 评论 -
OpenCV-Python(21):凸缺陷检测及点到多边形最短的距离求解
点到轮廓的距离为正数表示点在轮廓的外部,为负数表示点在轮廓的内部,为零表示点在轮廓上。它会返回一个数组,其中每一行包含的值是[起点,终点,最远的点,到最远点的近似距离]。1.创建一个小程序,可以将图片上的点绘制成不同的颜色,颜色是根据这个点到轮廓的距离来决定的。函数的第一个参数是模板图像的轮廓,第二个参数是目标图像的轮廓,第三个参数是形状匹配方法,第四个参数是匹配时的数值参数。接,在最远点画一个圆圈,要记住的是返回结果的前三个值是轮廓点的索引。函数计算该点到轮廓的距离,根据距离设置点的颜色。原创 2023-12-28 17:10:15 · 659 阅读 · 0 评论 -
OpenCV-Python(21):OpenCV中的轮廓性质
本文我们将主要学习基于轮廓来提取一些经常使用的对象特征。原创 2023-12-28 15:30:21 · 688 阅读 · 0 评论 -
OpenCV-Python(21):轮廓特征及周长、面积凸包检测和形状近似
本文我们将主要学习基于轮廓来提取一些经常使用的对象特征。 边界矩形的宽高比:3.2 Extent原创 2023-12-28 14:45:52 · 2543 阅读 · 0 评论 -
OpenCV-Python(21):OPenCV查找及绘制轮廓
1.认识轮廓1.1 什么是轮廓1.2 怎样绘制轮廓1.3 轮廓的近似方法2.轮廓特征2.1 矩特征2.2 轮廓面积2.3 轮廓周长2.4 轮廓近似2.5 凸包2.6 凸性检测2.7 边界矩形2.8 最小外接圆2.9 椭圆拟合2.10 直线拟合3.轮廓的性质3.1 长宽比3.2 Extent3.3 Solidity3.4 Equivalent Diameter3.5 方向3.6 掩膜和像素点3.7 最大值和最小值及它们的位原创 2023-12-28 10:15:47 · 864 阅读 · 0 评论 -
OpenCV-Python(30):Harris角点检测
接着,我们对响应图像进行阈值化,得到角点位置,并在原始图像上标记检测到的角点,最后显示结果图像。窗口函数可以是正常的矩形窗口也可以是对每一个像素给予不同权重的高斯窗口,角点检测中使E (μ, ν) 的值最大。该函数返回的dst图像是一个与输入图像大小相同的角点响应图像,其中每个像素点的值表示该点的Harris响应函数值。该函数会使用亚像素级别的优化方法,在指定的搜索窗口内对角点进行迭代搜索,以获得更精确的角点位置。7.记录角点位置:根据阈值化后的响应函数图像,记录剩余点的位置,即为角点。原创 2023-12-27 11:15:00 · 1994 阅读 · 0 评论 -
OpenCV-Python(29):图像特征
相信大多数人都玩过拼图游戏吧。首先你们拿到一张图片的一堆碎片,你要做的就是把这些碎片以正确的方式排列起来从而重建这幅图像。问题是,你怎样做到的呢。如果把你做游戏的原理写成计算机程序,那么计算机就也会玩拼图游戏了。如果计算机可以玩拼图,我们就可以给计算机一大堆自然图片,然后就可以让计算机把它拼成一张大图了。如果计算算机可以自动拼接自然图片,我们是不是可以给计算机关于一个建筑的的大量图片,然后然后让算机给我们创建一个3D 的的模型呢?问题和联想可以无边无际。但是所有的这些都是建立在一个基础之上的。原创 2023-12-27 09:21:17 · 803 阅读 · 0 评论 -
OpenCV-Python(26):Hough圆环变换
cv2.HoughCircles()函数是OpenCV中用于检测图像中的圆形轮廓的函数。它基于霍夫变换算法,可以在图像中找到指定半径范围内的圆。image: 输入图像,通常为灰度图像。method: 霍夫变换的检测方法,目前只支持cv2.HOUGH_GRADIENT。dp: 累加器图像的分辨率与输入图像的分辨率之比。通常为1。minDist: 检测到的圆之间的最小距离。如果设置为-1,则由函数自动计算。param1: 第一个方法特定的参数。原创 2023-12-26 14:41:33 · 844 阅读 · 0 评论 -
OpenCV-Python(20):图像金字塔
学习图像金字塔使用图像创建一个新水果:橘子苹果学习的函数cv2.pyrUp()、cv2.pyrDown()。原创 2023-12-26 10:28:28 · 580 阅读 · 1 评论