iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python图像平滑处理原理
  • 432
分享到

python图像平滑处理原理

2024-04-02 19:04:59 432人浏览 八月长安

Python 官方文档:入门教程 => 点击学习

摘要

目录前言:基本原理1均值滤波1.1函数语法2.高斯滤波2.1函数语法3.中值滤波3.1函数语法前言: 图像滤波是图像处理和计算机视觉中最常用、最基本的操作。主要是去除图像中的噪声,因

前言:

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

基本原理

  • 图像平滑的基本原理是,将噪声所在像素点的像素值处理为其周围临近像素点的值的近似值。
  • 图像平滑处理的方法有很多,比如均值滤波,方框滤波,高斯滤波,中值滤波,双边滤波。

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

1均值滤波

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

原始图像像素

当前像素点为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像素点位置的新的像素。

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

1.1函数语法

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

dst=cv2.blur(src,ksize,anchor,borderType)
  • dst是返回值,表示进行均值滤波后得到的结果
  • src是需要处理的图像,即原始图像,图像的深度有CV_8U,CV_16U,CV16S,CV32F,CV_64F.
  • ksize是核 的大小,
  • anchor是锚点,一般情况该值直接默认即可
  • borderType是边界样式,该值决定以何种方式处理边界,一般情况下不需要考虑该值的取值,直接默认即可。

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

dst=cv2.blur(src,ksize)

接下来看一段程序:

import cv2 as cv
img=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()

 原始图像:

均值滤波后的图像 

2.高斯滤波

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

高斯滤波卷积核示例

2.1函数语法

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

式中:

  • dst为高斯滤波后得到的结果
  • src是需要处理的图像,
  • ksize是滤波卷积核。需要注意的是滤波核 的值必须是奇数
  • sigmaX是卷积在水平方向的标准差,或者X方向求导
  • sigmaY是卷积在垂直方向的标准差,或者说Y方向上
  • bordenType是边界类型

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

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

程序演示:

import cv2 as cv
img=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.中值滤波

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

中值滤波的处理过程为:将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 cv
img=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图像平滑处理原理的文章就介绍到这了,更多相关Python 图像平滑处理内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: python图像平滑处理原理

本文链接: https://www.lsjlt.com/news/118741.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python图像平滑处理原理
    目录前言:基本原理1均值滤波1.1函数语法2.高斯滤波2.1函数语法3.中值滤波3.1函数语法前言: 图像滤波是图像处理和计算机视觉中最常用、最基本的操作。主要是去除图像中的噪声,因...
    99+
    2022-11-11
  • python图像平滑处理的方法
    这篇文章主要介绍“python图像平滑处理的方法”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“python图像平滑处理的方法”文章能帮助大家解决问题。前言:图像滤波是图像处理和计算机视觉中最常用、最...
    99+
    2023-07-02
  • Python中的图像处理之Python图像平滑操作
    目录前言一. Python准备二. Python仿真三. 小结前言 随着人工智能研究的不断兴起,Python的应用也在不断上升,由于Python语言的简洁性、易读性以及可扩展性,特别...
    99+
    2022-11-11
  • OpenCV-Python实现图像平滑处理操作
    目录什么是图像平滑处理均值滤波方框滤波高斯滤波中值滤波双边滤波2D卷积什么是图像平滑处理 在尽量保留图像原有信息的情况下,过滤掉图像内部的噪声,这一过程我们称之为图像的平滑处理,所得...
    99+
    2022-11-12
  • 如何在Python中使用OpenCV实现图像平滑处理操作
    这期内容当中小编将会给大家带来有关如何在Python中使用OpenCV实现图像平滑处理操作,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。什么是图像平滑处理在尽量保留图像原有信息的情况下,过滤掉图像内部的噪...
    99+
    2023-06-15
  • Python图像处理【3】Python图像处理库应用
    Python图像处理库应用 0. 前言1. 将 RGB 图像转换为灰度图像算法1.1 算法原理3.2 算法实现 2. 使用 PIL 库计算图像差异2.1 算法原理2.2 算法实现 ...
    99+
    2023-09-06
    python 图像处理 计算机视觉
  • Python图像处理之图像量化处理详解
    目录一.图像量化处理原理二.图像量化实现三.图像量化等级对比四.K-Means聚类实现量化处理五.总结一.图像量化处理原理 量化(Quantization)旨在将图像像素点对应亮度的...
    99+
    2022-11-13
  • Python图像处理之边缘检测原理详解
    目录原理Sobel检测算子Laplacian算子算子比较原理 边缘检测是图像处理和计算机视觉当中的基本问题,边缘检测的目的是标识数字图像中亮度变化明显的点,图像的边缘检测可以大幅度的...
    99+
    2022-12-08
    Python图像处理 边缘检测 Python边缘检测 Python图像处理
  • python skimage图像处理
    目录引言scikit-image进行数字图像处理图片信息skimage包的子模块从外部读取图片并显示程序自带图片保存图片图像像素的访问与裁剪color模块的rgb2gray()函数结...
    99+
    2022-11-11
  • Python图像处理之图像拼接
    目录一、前言二、特征点匹配三、匹配错误的特征点干扰四、消除干扰五、RANSAC进行图像匹配六、总结一、前言 图像拼接技术就是将数张有重叠部分的图像(可能是不同时间、不同视角或者不同传...
    99+
    2022-11-12
  • python数字图像处理之图像的批量处理
    目录正文图片集合函数批量读取批量转换为灰度图批量保存正文 有些时候,我们不仅要对一张图片进行处理,可能还会对一批图片处理。这时候,我们可以通过循环来执行处理,也可以调用程序自带的图片...
    99+
    2022-11-11
  • Python图像处理库处理步骤
    目录探索Python图像处理库0. 前言1. 利用 scikit-image 绘制图像2. 使用 SciPy 模块裁剪/调整图像大小3. 使用 OpenCV 绘制轮廓3.1 轮廓简介...
    99+
    2023-05-15
    Python图像处理库 Python图像处理
  • 【python图像处理】python中定
    python中的颜色相关的定义在matplotlib模块中,为方便使用,这里给大家展示一下在这个模块中都定义了哪些选颜色。 1、颜色名称的导出 导出代码如下: import matplotlib for name, hex in matp...
    99+
    2023-01-31
    图像处理 python
  • 【python图像处理】python绘制
    3D图形在数据分析、数据建模、图形和图像处理等领域中都有着广泛的应用,下面将给大家介绍一下如何使用python进行3D图形的绘制,包括3D散点、3D表面、3D轮廓、3D直线(曲线)以及3D文字等的绘制。 准备工作: python中绘制3...
    99+
    2023-01-31
    图像处理 python
  • Python图像处理类库
    本章讲解操作和处理图像的基础知识,将通过大量示例介绍处理图像所需的 Python 工具包,并介绍用于读取图像、图像转换和缩放、计算导数、画图和保存结果等的基本工具。这些工具的使用将贯穿本书的剩余章节。1.1 PIL:Python图像处理类库...
    99+
    2023-01-31
    图像处理 类库 Python
  • Python图像处理之图像与视频处理基础教程
    目录图像与视频处理基础0. 前言1. 在 3D 空间中显示 RGB 图像颜色通道1.1 图像表示1.2 在 3D 空间中绘制颜色通道2. 使用 scikit-video 读/写视频文...
    99+
    2023-05-15
    Python图像处理 Python图像与视频处理 Python视频处理
  • python OpenCV图像直方图处理
    目录1.图像直方图基本含义和绘制2.OpenCV统计直方图并绘制3.使用掩码的直方图-直方图、掩膜4.直方图均衡化原理及函数5.子图的绘制6.直方图均衡化对比1.图像直方图基本含义和...
    99+
    2022-11-12
  • Python图像处理之模糊图像判断
    目录上期回顾采用Laplace算子的原因实现的效果图片素材代码的展示与讲解效果展示项目资源上期回顾 上一次的图像清晰度评价没有成功,主要的原因是那几张图像清晰度评价函数都实际都采用了...
    99+
    2022-12-08
    Python模糊图像判断 Python模糊图像 Python模糊 判断
  • Python图像处理之PIL库
    本篇文章给大家带来了关于python的相关知识,其中主要整理了PIL库的相关问题,PIL库是一个具有强大图像处理能力的第三方库,不仅包含了丰富的像素、色彩操作功能,还可以用于图像归档和批量处理,下面一起来看一下,希望对大家有帮助。要点:PI...
    99+
    2022-06-23
    python
  • python Pillow图像降噪处理颜色处理
    目录Pillow图像降噪处理模糊处理轮廓图边缘检测浮雕图Pillow图像颜色处理颜色命名Pillow图像降噪处理 由于成像设备、传输媒介等因素的影响,图像总会或多或少的存在一些不必要...
    99+
    2022-11-11
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作