通常有三种类型的阈值处理:简单阈值操作,自适应阈值操作和OTSU阈值操作。OpenCV提供两个功能CV.Threshold和CV.AdaptivEthreshold实施
按照相同的阈值对每个像素进行处理。如果像素值小于阈值值,则将其放置为0,否则将其放置在最大值(当8-bit表示方法的最大值时)255)。
CV.阈值是致力于阈值处理的功能,包括以下参数:
在简单的阈值操作中,我们将全球值用作阈值。但是,这显然不适合大多数情况,例如,图像在不同区域的照明条件不同。在这种情况下,自适应阈值可以帮助我们更好地处理。图片。在自适应算法中,阈值将根据像素周围的小区域确定。对于同一图像的不同区域,我们的阈值不同。对于不同的光图像,我们可以获得更好的结果。
CV.apaptiveThreshold功能用于实现自适应阈值操作。除了上述阈值接受参数外,它还需要提供其他三个参数
在全局阈值处理中,我们使用任意建立的值作为阈值。相反,OTSU方法避免了手动选择,但自动确定。考虑一个图像的图像值(双峰图像),并且它们的直方图仅包含两个峰值值。良好的阈值应位于两个值的中间。相似地,OTSU方法通过图像直方图确定了最佳的全局阈值。
OPENCV为阈值函数提供了一个CV.Thresh_otsu参数,以自动选择适当的阈值来处理双孔灰灰色图形。
让我们看一个例子:
输入图像是噪声图像。在第一种情况下,使用127的使用值的全局阈值分割是分配的。在第二种情况下,在第三种情况下直接应用OTSU的阈值处理。在第三种情况下,首先使用5x5 gaussuuclear过滤以删除噪声,然后应用OTSU阈值。请参阅过滤方法如何改善结果。
一般图像的平滑处理是通过各种过滤器实现的。在这里,我们告诉使用低通滤波和自定义过滤器以实现2D卷积
像一个二维信号一样,图像也可以使用各种低通滤波器(LPF),高通滤波器(HPF)等过滤。LPF有助于消除噪声,模糊图像等。图片。
OPENCV在卷积内核中为图像提供了cv.filter2d()函数。例如,我们将尝试图像平均过滤器。A5x5平均过滤器内核外观如下:
$ k = frac {1} {25}左[begin {array} {ccccc} 1&1&1&1&1&1&1&1&1&1&1&1&1&1&1&1&1&1&1&1&1&1&1&1&1&1&11&1&1&1&1&1 end {array} ight] $
特定的操作过程如下:让卷积核中心移至每个像素点。如果某些卷积内核不在图像中,则在填充0填充后计算平均值。
cv.filter2d的参数列表是:
图像模糊是卷积和低通滤波器内核的图像。它可用于消除噪声。它实际上消除了图像中的高频内容(例如:噪声,边缘和实际上更改较大的像素)。因此,在此操作中边缘有些模糊(也有模糊的技术不会模糊边缘).opencv提供了四种主要模糊技术。
答:Sepatal过滤这是通过卷积进行的卷积和标准化的框过滤器。它仅获得核心区域中所有像素的平均值并替换中心元素。这是由函数cv.blur()或cv.boxfilter()实现的。.A 3x3标准化盒过滤器的宽度和高度如下:$ K = frame {1} {9} {9}{大批} ight] $
B.高斯滤波器此方法使用Gaussu Core替换框过滤器。它是用CV.GaussianBlur()函数完成的。我们应该指定内核的宽度和高度,它们应该是正的。我们还应指定标准X和Y方向的偏差,Sigmax和Sigmay。如果仅指定Sigmax,则认为Sigmay与Sigmax相同。消除高斯噪音。
用法如下:cv.gaussianblur(src,ksize,sigmax [,dst [,sigmay [,bordrtype]]] - > dst
此外,OPENCV还提供CV.GetGaussianKernel()来创建高斯核心。
用法如下:cv.getgaussiankernel(ksize,sigma [,ktype]) - > retval
C.中间滤波器函数cv.medianblur()采用核心区域所有像素的中值,并且中心像素值被此中位数取代。这对于图像中的盐和胡椒的噪声非常有效。在上面的滤波器(均值过滤器或高斯滤波器)中,中心元素是一个新计算的值,它可能是图像中的像素值或一个新值。但是,在中间模糊中,中心元素始终被某些替代图像中的像素值。Middle值过滤可以有效地减少噪声。它的内核大小应为正义整数。
D.双边滤波CV.BilateralFilter()双侧过滤器可以与去除噪声同时保持边缘。高斯平均水平。此高斯滤波器是一个单独的空间函数,即附近的像素被视为过滤。它不考虑像素是否具有几乎相同的强度。它不考虑像素是否是边缘像素。优势,这就是我们不想做的。
空间中还使用了高斯过滤,但是额外的高斯滤波器是像素的函数。空间的高斯功能可确保只有附近的像素被视为模糊,并且具有不同优势的高斯功能可确保只有像素的像素只有像素。因此,中央像素的强度相似。因此,它保留了边缘,因为像素的边缘会具有巨大的强度变化。
用法:cv.Bilatealalter(SRC,D,Sigmacolor,Sigmaspace [,dst [,Bordrtype]] - > DST
原始:https://juejin.cn/post/7097516997692358686