opencv
惺忪9798
这个作者很懒,什么都没留下…
展开
-
opencv常用算法--Grabcut
Grabcut算法主要运用于计算机视觉重的前背景分割,立体视觉和抠图等。该算法利用了图像中的纹理(颜色)信息和边界(反差)信息,只要少量的用户交互操作即可得到比较好的分割结果。grabCut函数的用法非常简单,只需要在输入图像做上 “属于背景”或“属于前最” 的标记即可。根据这个局部标记,算法将计算出整幅图像的前景/背景分割线。grabcut只需指定一个粗略的能将目标框住的边框就可以完成良好的分割。cv::compare()主要用于两个图像之间进行逐像素的比较,并输出比较的结果。原创 2023-11-17 10:20:01 · 162 阅读 · 0 评论 -
opencv常用算法--直方图
如读进来一个灰度图,用数值的形式展示出来,直方图就是统计0-255个像素值的分布情况,其中横坐标是0-255的像素值,纵坐标是每个像素值出现的次数。需要用到这个函数:cv2.calcHist(images,channels,mask,histSize,ranges)图像中的直方图概念,将图像分解成像素点,直方图对像素点进行统计。原创 2023-11-17 09:48:05 · 107 阅读 · 0 评论 -
opencv常用算法--模板匹配
opencv中模板匹配算法核心:它将模板与原图像中的每个部分进行比较,逐像素滑动。结果是一个相似度的图,该相似度图中每个像素值反映了模板与原图像中该位置的相似程度。从本质上讲,它将模板在图像上进行卷积,类似于卷积神经网络中使用卷积核的方式。通过这个过程,创建了一个新的图像或矩阵,其中每个像素值表示模板与源图像中相应区域之间的相似性。通过分析该结果图像,我们可以识别峰值,这些峰值表示源图像中存在模板图像的精确位置。原创 2023-11-17 09:21:33 · 119 阅读 · 0 评论 -
opencv常用算法--双边滤波(非线性滤波)
双边滤波采用两个高斯滤波的结合。一个负责计算空间邻近度的权值,也就是常用的高斯滤波器原理,而另一个负责计算像素值相似度的权值。在两个高斯滤波的同时作用下,也就是双边滤波。双边滤波是一种结合图像的空间邻近度与像素值相似度的处理办法。在滤波时,该滤波方法同时考虑空间临近信息与颜色相似信息,在滤除噪声、平滑图像的同时,又做到边缘保存。缺点:保存了过多的高频信息,对于彩色图像里的高频噪声,双边滤波不能够干净的滤除,只能对低频信息进行较好的滤波。优点:能有效的保护图像内的边缘信息。原创 2023-11-14 18:46:28 · 136 阅读 · 0 评论 -
opencv常用算法--Canny算子(高频滤波器)
3.应用非极大值抑制。这将删除不被认为是边缘一部分的像素。因此,只有细线(候选边缘)将保存。canny边缘检测算子是传统边缘检测算子中最优秀的,2.找到图像的强度梯度,遵循类似于Sobel的过程。高斯滤波器用于此目的。(2)准确的定位边缘。(3)单个边缘点响应。原创 2023-11-14 20:00:58 · 120 阅读 · 0 评论 -
opencv常用算法--均值滤波(线性滤波)
所谓的均值滤波是指在图像上,对待处理的像素给定一个模板,该模板包括了其周围的邻近像素。将像素中的全体像素的均值代替原来的像素的值的方法,即对目标像素及周边像素取平均值,将其填入目标像素来实现滤波的目的。(相当于一个卷积核,用周围的值的平均值来代替中心点的值)原理:取内核区域(如3*3卷积)下所有像素的平均值并替换中心元素。适用场景:椒盐(脉冲)噪声和高斯噪声。M是邻域中包含的邻近像素的个数。原创 2023-11-14 16:28:15 · 115 阅读 · 0 评论 -
opencv常用算法--高斯滤波(线性滤波)
高斯滤波器本质是一个低通滤波器,用它对图像做卷积,图像的高频分量会被打到低频,起到图像平滑的作用,最终呈现的效果就是图像变模糊了。sigma越大,周围值对中心影响越大,图像越模糊,sigma越小,周围值对中心影响越小,图像越清晰。,它是一个和距离有关的函数,高斯核呈现中心点权重最大,依次向四周递减的形状。(1)高斯模板的生成。(2)滑窗卷积的实现。原创 2023-11-14 16:10:31 · 120 阅读 · 0 评论 -
opencv常用算法--方框滤波(线性滤波)
方框滤波的均值滤波的一般形式,但与均值滤波不同的是,方框滤波不会计算像素的均值。在均值滤波中,滤波结果的像素值是任意一个点的邻域平均值,等于各邻域像素值之和除以邻域面积。1.取内核区域下所有像素的平均值并替换中心元素。2.取内核区域下所有像素的和并替换中心元素。原创 2023-11-14 16:58:33 · 65 阅读 · 0 评论 -
opencv常用算法--中值滤波(非线性滤波)
中值滤波:取当前像素点及其周围临近像素点(一共有奇数个像素点)的像素值,将这些像素值排序(升序和降序都可),然后将位于中间位置的像素值作为当前像素点的像素值。线性滤波的结果是所有像素值的线性组合,因此含有噪声的像素也会被考虑进去,噪声不会被消除,而是以更柔和的方式存在。这时非线性滤波效果可能会更好。原创 2023-11-14 18:36:25 · 72 阅读 · 0 评论 -
opencv常用算法--腐蚀与膨胀(形态学)
图像形态学操作是指基于形状的一系列图像处理操作的合集,主要是基于集合论基础上的形态学数学对图像进行处理。形态学有四个基本操作:腐蚀、膨胀、开操作、闭操作。腐蚀和膨胀是图像处理中最常用的形态学操作手段。原创 2023-11-15 09:27:49 · 93 阅读 · 0 评论 -
opencv常用算法--Sobel算子(高频滤波器)
Sobel算子用来计算图像灰度的近似梯度,梯度越大越有可能是边缘。Sobel算子的功能集合了高斯平滑和微分求导,在水平和垂直两个方向上求导,得到的是图像在X方向和Y方向梯度的图像。缺点:比较敏感,容易受影响,要通过高斯模糊(平滑)来降噪。水平变化:将图像I与一个奇数大小的内核Gx进行卷积。垂直变化:将一个奇数大小的内核Gy与图像进行卷积。在图像的每一点,结合以上两个结果求出近似梯度。原创 2023-11-14 19:36:58 · 191 阅读 · 0 评论 -
opencv常用算法--拉普拉斯算子
在Sobel算子中,获得像素强度的一阶导数,边缘的特征是极值。二阶导数是0,因此也可以使用这个准则来尝试检测图像中的边缘。Laplacian(拉普拉斯)算子是一种二阶导数算子,其具有旋转不变性,可以满足不同方向的图像边缘锐化(边缘检测)的要求。原创 2023-11-14 19:47:19 · 154 阅读 · 0 评论 -
opencv常用算法--开操作与闭操作(形态学)
开操作和闭操作是将腐蚀和膨胀按照一定的次序进行处理。但这两者并不是可逆的,即先开后闭(先闭后开)并不能得到原来的图像。原创 2023-11-15 10:02:45 · 292 阅读 · 0 评论 -
opencv常用算法--礼帽和黑帽(形态学)
图像的礼帽和黑帽变换是数学形态学图像处理中的两个重要操作。它们用于检测图像中的局部亮度变化和暗度变化,常用于图像增强和物体识别等应用。原创 2023-11-15 10:44:48 · 328 阅读 · 1 评论