Python OpenCV边缘滤波保留怎么使用

74次阅读
没有评论

共计 1784 个字符,预计需要花费 5 分钟才能阅读完成。

本篇内容介绍了“Python OpenCV 边缘滤波保留怎么使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让丸趣 TV 小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

函数原型介绍高斯双边滤波

双边滤波函数原型如下:

dst = cv2.bilateralFilter(src, d, sigmaColor, sigmaSpace[, dst[, borderType]])

参数说明:

src:输入图像;

d:过滤过程中每个像素邻域的直径范围。如果不是正数,则函数会从参数 sigmaSpace 计算该值;

sigmaColor:颜色空间过滤器的 sigma 值,参数的值越大,表明该像素邻域内有越宽广的颜色会被混合到一起,产生较大的半等色区域;

sigmaSpace:坐标空间中滤波器的 sigma 值,如果该值较大,则意味着越远的像素将相互影响,从而使更大的区域中足够相似的颜色获取相同的颜色。当 d 0 时,d 指定了邻域大小且与 sigmaSpace 无关,否则 d 正比于 sigmaSpace。

dst:和源图象相同大小、相同格式的输出图象;

一般将 sigmaSpace 设置大一些,sigmaColor 设置小一些,最终呈现的效果较好。

优缺点:
双边滤波,可很好的保存图像边缘细节,并且过滤掉低频分量的噪音,但是双边滤波效率不是很高,花费时间比其他滤波器较长。

测试代码如下,先掌握函数基本使用再说。

import cv2 as cvimport numpy as np#  双边滤波 def bilater(image):#  第三个参数大一点(color),第四个小一点(space)dst = cv.bilateralFilter(image, 0, 100, 15)cv.namedWindow(dst)cv.imshow(dst , dst)src = cv.imread(./123.jpg)cv.namedWindow(src)cv.imshow(src , src)bilater(src)cv.waitKey(0)cv.destroyAllWindows()

均值迁移滤波

均值迁移算法是一种通用的聚类算法,它的基本原理是:

对于给定的一定数量样本,任选其中一个样本,以该样本为中心点划定一个圆形区域,求取该圆形区域内样本的质心,即密度最大处的点,再以该点为中心继续执行上述迭代过程,直至最终收敛。(没看太明白,大概了解一下即可)

函数原型如下:

dst = cv2.pyrMeanShiftFiltering(src, sp, sr[, dst[, maxLevel[, termcrit]]])

参数说明:

src:输入图像,8 位 3 通道图像;

sp:迁移物理空间半径大小;

sr:迁移色彩空间半径大小;

dst:可选参数,和源图象相同大小、相同格式的输出图象;

maxLevel:可选参数,金字塔的最大层数;

termcrit:可选参数,迁移迭代终止条件,可以设置为迭代次数满足终止,迭代目标与中心点偏差满足终止,或者两者的结合。

所有参数中,sp 与 sr 必选,二者设置的值越大,对图像色彩的平滑效果越明显,同时函数耗时越多。

测试代码如下:

import cv2 as cvimport numpy as np#  双边滤波 def bilater(image):#  第三个参数大一点(color),第四个小一点(space)dst = cv.bilateralFilter(image, 0, 100, 15)cv.namedWindow(dst)cv.imshow(dst , dst)#  均值迁移滤波 def pyrmeanshift(src):dst = cv.pyrMeanShiftFiltering(src, 10, 50)cv.imshow(dst , dst)src = cv.imread(./123.jpg)cv.namedWindow(src)cv.imshow(src , src)pyrmeanshift(src)cv.waitKey(0)cv.destroyAllWindows()

“Python OpenCV 边缘滤波保留怎么使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注丸趣 TV 网站,丸趣 TV 小编将为大家输出更多高质量的实用文章!

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-08-25发表,共计1784字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)