文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python图像平滑处理的方法

2023-07-02 09:37

关注

这篇文章主要介绍“python图像平滑处理的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python图像平滑处理的方法”文章能帮助大家解决问题。

前言:

图像滤波是图像处理和计算机视觉中最常用、最基本的操作。主要是去除图像中的噪声,因为图像平滑处理过程中往往会使得图像变的模糊,因此又叫模糊处理。

基本原理

(这里就不讲公式推导了)

1均值滤波

在进行均值滤波的时候要考虑需要对周围多少个像素去平均值,即确定核 的大小,通常情况下都是以当前像素点为中心,读行数和列数相等的一块区域内的所有像素点求平均。将计算得到的结果作为该点的像素。

python图像平滑处理的方法

原始图像像素

当前像素点为226的位置,我们对其周围5x5区域内像素点求平均计算方法为:

新值=(197+25+106+156+159+149+40+107+5+71+163+198+226+223+156+222+37+68+233+157+75+193+250+2+42)/25

计算得到的新值即为226像素点位置的新的像素。

其中均值滤波的核如下所示:

python图像平滑处理的方法

1.1函数语法

在OpenCV中,实现均值滤波的函数是cv2.blur(),语法格式如下:

dst=cv2.blur(src,ksize,anchor,borderType)

因此函数cv2.blur()的一般形式为:

dst=cv2.blur(src,ksize)

接下来看一段程序:

import cv2 as cvimg=cv.imread(r'F:\AI\photo\test\lena.jpg')blurImg=cv.blur(img,(5,5))print('imgshape',img.shape)print('blurImg',blurImg.shape)cv.imshow('img',img)cv.imshow('blurImg',blurImg)cv.waitKey()cv.destroyAllWindows()

python图像平滑处理的方法

 原始图像:

python图像平滑处理的方法

均值滤波后的图像 

2.高斯滤波

均值滤波中,其邻域内每个像素的权重都是一样的,在高斯滤波中,中心点的权重值加大,远离中心点的权重值减少,在此基础上计算邻域内各个像素值不同权重的和。

python图像平滑处理的方法

高斯滤波卷积核示例

2.1函数语法

dst=cv2.GaussianBlur(src,ksize,sigmaX,sigmaY,borderType)

式中:

因此高斯滤波的一般形式为:

dst=cv2.GaussianBlur(src,ksize,0,0)

程序演示:

import cv2 as cvimg=cv.imread(r'F:\AI\photo\test\lena.jpg')GS_blurImg=cv.GaussianBlur(img,(5,5),1,1)print('imgshape',img.shape)print('blurImg',GS_blurImg.shape)cv.imshow('img',img)cv.imshow('GS_blurImg',GS_blurImg)cv.waitKey()cv.destroyAllWindows()

相比原始图像,高斯滤波处理后的图像模糊了一些,但是相对于均值滤波来说,要好一些,这是因为高斯滤波卷积核在中心点的权重更高。

3.中值滤波

中值滤波就是将当前像素点及其邻域内的像素点排序后取中间值作为当前值的像素点。

python图像平滑处理的方法

中值滤波的处理过程为:将226像素点周期的8个像素点一起排序即5,37,40,68,107,198,223,223,226,所以226像素点的新 的像素值为107.

3.1函数语法

dscv2.medianBlur(src,ksize)

其中需要注意的是ksize核的大小必须是比1大的奇数,比如3,5,7等

import cv2 as cvimg=cv.imread(r'F:\AI\photo\test\lena.jpg')medianblurImg=cv.medianBlur(img,5)cv.imshow('img',img)cv.imshow('medianblurImg',medianblurImg)cv.waitKey()cv.destroyAllWindows()

在中值滤波处理中,噪声成分很难被选中,所以可以在几乎不影响原有图像的情况下去除所有的噪声,但是由于需要进行排序等操作,中值滤波需要的运算较大。中值滤波对椒盐噪声去除效果较明显,下次补充,还有双边滤波以及方框滤波后面补充。 

关于“python图像平滑处理的方法”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网行业资讯频道,小编每天都会为大家更新不同的知识点。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯