本文概述
- 模糊的优势
- OpenCV平均
- OpenCV中值??模糊
- OpenCV高斯模糊
模糊的优势 模糊的好处如下:
- 它消除了低强度的边缘。
- 它有助于使图像平滑。
- 隐藏细节是有益的。例如, 在很多情况下都需要模糊处理, 例如警察故意要隐藏受害者的脸。
OpenCV平均 【OpenCV模糊(图像平滑)】在这种技术中, 图像通过盒式滤波器进行卷积(归一化)。它计算内核区域下所有像素的平均值, 并用计算出的平均值替换中心元素。 OpenCV提供cv2.blur()或cv2.boxFilter()来执行此操作。我们应该定义内核的宽度和高度。以下是cv2.blur()函数的语法。
cv2.blur(src, dst, ksize, anchor, borderType)
参数:
src-表示源(输入)图像。
dst-代表目标(输出)图像。
ksize-代表内核的大小。
锚点-表示锚点。
borderType-表示要用于输出的边框类型。
考虑以下示例:
im = cv2.imread(r'C:\Users\DEVANSH SHARMA\cat_16x9.jpg')
cv2.imshow('Original Image', im)
cv2.imshow('Blurred Image', cv2.blur(im, (3, 3)))
cv2.waitKey(0)
cv2.destroyAllWindows()
输出
文章图片
OpenCV中值??模糊 中值模糊运算与高斯模糊非常相似。 OpenCV提供了meanblur()函数来执行模糊操作。它采用内核区域下所有像素的中值, 并且中心元素被该中值替换。对于图像中的盐纸干扰非常有效。内核大小应为正整数。以下是此方法的语法。
cv2.medianBlur(src, dst, ksize)
参数:
src-表示源(输入图像)。
dst-代表目的地(输出图像)。
ksize-代表内核的大小。
考虑以下示例:
import cv2
import numpy
# read image
img = cv2.imread(r'C:\Users\DEVANSH SHARMA\cat_16x9.jpg', 1)
# apply gaussian blur on src image
dst = median = cv2.medianBlur(img, 5)
# display input and output image
cv2.imshow("Gaussian Smoothing", numpy.hstack((src, dst)))
cv2.waitKey(0)# waits until a key is pressed
cv2.destroyAllWindows()# destroys the window showing image
输出
文章图片
OpenCV高斯模糊 图像平滑是一种有助于减少图像噪声的技术。由于相机传感器的影响, 图像可能包含各种类型的噪点。它基本上消除了图像中的高频(噪声, 边缘)内容, 因此在此操作中边缘略微模糊。 OpenCV提供gaussianblur()函数以对图像进行平滑处理。语法如下:
dst=cv2.GuassiasBlur(src, ksize, sigmaX[, dst[, sigmaY[, borderType=BORDER_DEFAULT]]]
参数:
- src-用于输入图像。
- dst-它是存储输出图像的变量。
- ksize-它定义了高斯核的大小[height width]。高度和宽度必须为奇数(1, 3, 5, ..), 并且可以具有不同的值。如果ksize设置为[0, 0], 则从sigma值计算ksize。
- sigmaX-沿X轴(水平方向)的内核标准推导。
- sigmaY-沿Y轴(垂直方向)的内核标准推导。如果sigmaY = 0, 则将sigmaX值用于sigmaY。
- cv.BORDER_CONSTANT
- cv.BORDER_REPLICATE
- cv.BORDER_REFLECT
- cv.BORDER_WRAP
- cv.BORDER_REFLECT_101
- cv.BORDER_TRANSPARENT
- cv.BORDER_REFLECT101
- cv.BORDER_DEFAULT
- cv.BORDER_ISOLATED
import cv2
import numpy# read image
src = http://www.srcmini.com/cv2.imread(r'C:\Users\DEVANSH SHARMA\cat_16x9.jpg', 1)
# apply gaussian blur on src image
dst = cv2.GaussianBlur(src, (5, 5), cv2.BORDER_DEFAULT)# display input and output image
cv2.imshow("Gaussian Smoothing", numpy.hstack((src, dst)))
cv2.waitKey(0)# waits until a key is pressed
cv2.destroyAllWindows()# destroys the window showing image
输出
文章图片
推荐阅读
- OpenCV图像轮廓
- OpenCV Canny边缘检测
- OpenCV教程 | Python使用OpenCV
- OpenCV Blob检测
- i.MX6DL飞思卡尔双核安卓核心板主控
- Android系统移植(驱动篇)
- Android Messenger
- Android Studio项目生成Jar包
- 利用monkey测试android,入门级用户可能遇见的错误及解决办法