Python Opencv实践 - 图像高斯滤波(高斯模糊)

这篇具有很好参考价值的文章主要介绍了Python Opencv实践 - 图像高斯滤波(高斯模糊)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

import cv2 as cv
import numpy as np
import matplotlib.pyplot as plt

img = cv.imread("../SampleImages/pomeranian.png", cv.IMREAD_COLOR)
rows,cols,channels = img.shape
print(rows,cols,channels)

#为图像添加高斯噪声
#使用np.random.normal(loc=0.0, scale=1.0, size=None)
# loc: 高斯分布中心点,分布的均值
# scale: 高斯分布的宽度,分布的标准差
# size:维度。如果给定维度是(m,n,k)则从分布中抽取m*n*k个样本
#参考资料:https://blog.csdn.net/wzy628810/article/details/103807829
#         https://blog.csdn.net/sinat_29957455/article/details/123977298
def AddGaussianNoise(image, mean=0, var=0.005):
    image = np.array(image/255, dtype=float)                    #将像素值归一
    noise = np.random.normal(mean, var ** 0.5, image.shape)     #产生高斯噪声
    out = image + noise                                         #直接将归一化的图片与噪声相加

    if out.min() < 0:
        low_clip = -1.
    else:
        low_clip = 0.

    out = np.clip(out, low_clip, 1.0)
    out = np.uint8(out*255)
    return out

img_gaussian_noise = img.copy()
gauss_mean = 0
gauss_sigma = 0.003
#增加高斯噪声到图像
img_gaussian_noise = AddGaussianNoise(img_gaussian_noise, gauss_mean, gauss_sigma)

#高斯滤波(高斯模糊)
#cv.GaussianBlur(src, ksize, sigmaX, sigmaY, borderType)
#src: 输入图像
#ksize: kernel大小,高斯卷积和大小。注意卷积核的宽度和高度可以不同,但必须为正数且为奇数,也可以为零。
#sigmaX/Y: X和Y方向上的高斯标准差
#参考资料:https://blog.csdn.net/weixin_52012241/article/details/122284713
img_gaussian_blur_origin = cv.GaussianBlur(img, (3,3), 0)
img_gaussian_blur_noise = cv.GaussianBlur(img_gaussian_noise, (13,13), 0.006)


#显示图像
fig,axes = plt.subplots(nrows=2, ncols=2, figsize=(10,10), dpi=100)
axes[0][0].imshow(img[:,:,::-1])
axes[0][0].set_title("Original")
axes[0][1].imshow(img_gaussian_blur_origin[:,:,::-1])
axes[0][1].set_title("Original Gaussian Blurred")
axes[1][0].imshow(img_gaussian_noise[:,:,::-1])
axes[1][0].set_title("Add Gaussian Noise")
axes[1][1].imshow(img_gaussian_blur_noise[:,:,::-1])
axes[1][1].set_title("Gaussian Noise Blurred")

Python Opencv实践 - 图像高斯滤波(高斯模糊),OpenCV实践-python,python,opencv,开发语言,图像处理,计算机视觉

 Python Opencv实践 - 图像高斯滤波(高斯模糊),OpenCV实践-python,python,opencv,开发语言,图像处理,计算机视觉

 Python Opencv实践 - 图像高斯滤波(高斯模糊),OpenCV实践-python,python,opencv,开发语言,图像处理,计算机视觉

 文章来源地址https://www.toymoban.com/news/detail-657785.html

到了这里,关于Python Opencv实践 - 图像高斯滤波(高斯模糊)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【OpenCV-Python】:基于均值、中值、方框、双边和高斯滤波的图像去噪

    ✨博客主页:王乐予🎈 ✨年轻人要:Living for the moment(活在当下)!💪 🏆推荐专栏:【图像处理】【千锤百炼Python】【深度学习】【排序算法】 本节将对经过噪声污染的图像进行去噪,去噪方法包含 均值滤波、中值滤波、方框滤波、双边滤波和高斯滤波 。 实验所用的图

    2024年02月05日
    浏览(65)
  • Python Opencv实践 - 图像中值滤波

       

    2024年02月12日
    浏览(55)
  • Python Opencv实践 - 图像均值滤波

       

    2024年02月12日
    浏览(47)
  • Opencv-图像噪声(均值滤波、高斯滤波、中值滤波)

    图像噪声是图像处理中常见的问题,它是由于各种原因引入的不希望的随机变化或干扰,导致图像质量下降。噪声可以出现在图像的亮度、颜色和纹理等方面,对图像分析、计算机视觉和图像处理任务造成困难。为了减少或消除图像中的噪声,常常使用不同类型的滤波技术。

    2024年02月04日
    浏览(67)
  • python opencv图像模糊

    目录 一:均值滤波 二:高斯滤波 三:中值滤波 四:双边滤波 在OpenCV中,模糊图片或进行图像平滑处理时常用的方法包括以下几种: 均值滤波 (Blurring): 均值滤波是一种简单的平滑方法,它通过对图像中每个像素的邻域内像素值进行平均来计算新的像素值。在OpenC

    2024年02月22日
    浏览(64)
  • 运用维纳滤波实现图像去模糊(OpenCV实现)

    目录 一、背景描述 二、技术应用 三、实际处理 (1)对运动模糊的处理 处理效果 (2)对均值模糊的处理 处理效果 (3)对高斯模糊的处理 处理效果 (4)对运动模糊+高斯噪声的处理 处理效果  四、振铃现象 五、总结 图像去模糊 是低级计算机视觉中的一个经典问题,它的

    2024年02月03日
    浏览(42)
  • Opencv-C++笔记 (13) : opencv-图像卷积一(均值、中值、高斯、双边滤波)与 边缘处理

    头文件 quick_opencv.h:声明类与公共函数 主函数调用 src:输入图像 。 dst:输出图像 。 ksize:内核大小 ,一般用 Size(w,h),w 为宽度,h 为深度。 anchor:被平滑的点,表示取 内核中心 ,默认值 Point(-1,-1)。 boderType:推断图像外部像素的某种边界模式。默认值 BORDER_DEFAULT 目的:

    2024年02月16日
    浏览(153)
  • 【Python】OpenCV-图像滤波

    在图像处理中,滤波是一种常见的技术,用于去除图像中的噪声、平滑图像或突出图像的某些特征。本文将通过OpenCV库演示几种常见的滤波方法,每个滤波方法的原理和适用场景。 以下是一个使用OpenCV库的代码示例,展示了中值滤波、均值滤波、高斯滤波和拉普拉斯滤波的代

    2024年02月22日
    浏览(44)
  • 【高性能计算】opencl语法及相关概念(四):结合opencv进行图像高斯模糊处理

    高斯模糊是一种常用的图像处理技术,用于减少图像中的噪点和细节,并实现图像的平滑效果。它是基于高斯函数的卷积操作,通过对每个像素周围的邻域像素进行加权平均来实现模糊效果。 具体而言,高斯模糊通过在图像上滑动一个卷积核,将卷积核与输入图像的对应像素

    2024年02月10日
    浏览(55)
  • opencv(15) 图像平滑处理之二:cv2.GaussianBlur()高斯滤波

    高斯滤波是一种线性平滑滤波,适用于消除高斯噪声,广泛应用于图像处理的减噪过程。 高斯模板是通过对二维高斯函数进行采样(高斯模糊的卷积核里的数值满足高斯分布)、量化并归一化得到的,它考虑了邻域像素位置的影响,距离当前被平滑像素越近的点,加权系数越大

    2024年02月10日
    浏览(56)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包