当前位置: 首页 > news >正文

城市之星福州网站建设怎么做公司网页

城市之星福州网站建设,怎么做公司网页,wordpress 赞插件,政府建设网站申请目录 一、环境 二、平滑滤波 2.1、均值滤波 2.2、高斯滤波 2.3、中值滤波 2.4、双边滤波 三、完整代码 一、环境 本文使用环境为: Windows10Python 3.9.17opencv-python 4.8.0.74 二、平滑滤波 2.1、均值滤波 在OpenCV库中,blur函数是一种简…

目录

一、环境

二、平滑滤波

2.1、均值滤波

2.2、高斯滤波

2.3、中值滤波

2.4、双边滤波

三、完整代码


一、环境

本文使用环境为:

  • Windows10
  • Python 3.9.17
  • opencv-python 4.8.0.74

二、平滑滤波

2.1、均值滤波

在OpenCV库中,blur函数是一种简单而有效的图像平滑处理方法,也被称为均值滤波。该函数通过将图像中每个像素的值设置为其邻域中像素值的平均值,从而消除图像中的噪声。

函数原型如下:

cv2.blur(src, ksize[, dst[, anchor]])

参数解释:

  • src: 输入图像。它必须是8位或32位浮点型。
  • ksize: 这是均值滤波器的大小,它必须是奇数,并且可以有两种形式:例如 (5,5) 或 5. 在第二种情况下,滤波器将是正方形的,而在第一种情况下,滤波器将是矩形的。
  • dst: 输出图像。它的类型和源图像相同。
  • anchor: 锚点的位置。默认值是 (-1,-1),这表示锚点在滤波器的中心。

下面是一个简单的示例:

import cv2 
import numpy as np 
# 加载图像 
img = cv2.imread('image.jpg') 
# 应用blur函数 
blurred = cv2.blur(img, (5,5)) # 使用5x5的滤波器 
# 显示原图和处理后的图像 
cv2.imshow('Original Image', img) 
cv2.imshow('Blurred Image', blurred) 
cv2.waitKey(0) 
cv2.destroyAllWindows()

需要注意的是,虽然blur函数可以有效地消除噪声,但它也可能导致图像失去一些细节。因此,在使用此函数时,您可能需要考虑在消除噪声和保留细节之间取得平衡。

2.2、高斯滤波

GaussianBlur是OpenCV库中的一个函数,它用于对图像进行高斯模糊。高斯模糊是一种图像处理技术,通过对图像的每个像素应用一个高斯函数来达到模糊效果。这种方法在消除噪声和细节提取方面非常有效。

函数原型如下:

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

参数解释:

  • src: 输入图像。它必须是8位或32位浮点型。
  • ksize: 高斯核的大小。这个值必须是正整数,并且可以有两种形式:例如 (5,5) 或 5. 在第二种情况下,滤波器将是正方形的,而在第一种情况下,滤波器将是矩形的。
  • sigmaX: 表示高斯核函数在X方向的标准偏差。如果sigmaX是0,那么标准偏差将根据核大小ksize计算。
  • dst: 输出图像。它的类型和源图像相同。
  • sigmaY: 表示高斯核函数在Y方向的标准偏差。如果sigmaY是0,那么标准偏差将根据核大小ksize计算。
  • borderType: 像素外插法,默认值为cv2.BORDER_DEFAULT。

下面是一个简单的示例:

python
import cv2  
import numpy as np  # 加载图像  
img = cv2.imread('image.jpg')  # 应用GaussianBlur函数  
blurred = cv2.GaussianBlur(img, (5,5), 0) # 使用5x5的高斯滤波器,无sigmaY值,所以根据核大小计算标准偏差  # 显示原图和处理后的图像  
cv2.imshow('Original Image', img)  
cv2.imshow('Blurred Image', blurred)  
cv2.waitKey(0)  
cv2.destroyAllWindows()

与blur函数相比,GaussianBlur可以提供更加柔和的模糊效果,因为它考虑了图像的更多频率内容。但是,这也会导致更多的细节丢失。因此,在使用此函数时,您可能需要考虑在消除噪声和保留细节之间取得平衡。

2.3、中值滤波

medianBlur函数是OpenCV库中的一个函数,用于对图像进行中值滤波处理,即使用中值滤波器来平滑图像。

函数原型如下:

cv2.medianBlur(src, ksize[, dst])
  • src: 输入图像,必须是8位或32位浮点型。
  • ksize: 滤波器的大小,必须是奇数,可以有两种形式:例如 (5,5) 或 5。当ksize为3或者5的时候,图像深度需为CV_8U,CV_16U,或CV_32F其中之一,而对于较大孔径尺寸的图片,它只能是CV_8U。
  • dst: 输出图像,类型和源图像相同。可以用Mat::Clone来初始化得到目标图。

medianBlur函数使用中值滤波器来平滑图像。对于多通道图片,每一个通道都单独进行处理,并且支持就地操作(In-place operation)。在边界类型(BorderTypes)方面,使用的是BORDER_REPLICATE。

2.4、双边滤波

双边滤波(Bilateral Filter)是一种非线性的滤波方法,结合了图像的空间邻近度和像素值相似度的一种折衷处理,同时考虑空域信息和灰度相似性,达到保边去噪的目的。

双边滤波器的好处是可以做边缘保存(edge preserving),一般用高斯滤波去降噪,会较明显地模糊边缘,对于高频细节的保护效果并不明显。双边滤波器顾名思义比高斯滤波多了一个高斯方差sigma-d,它是基于空间分布的高斯滤波函数,所以在边缘附近,离的较远的像素不会太多影响到边缘上的像素值,这样就保证了边缘附近像素值的保存。 但是由于保存了过多的高频信息,对于彩色图像里的高频噪声,双边滤波器不能够干净的滤掉,只能够对于低频信息进行较好的滤波。

三、完整代码

import sys
import cv2 as cv
import numpy as np#  Global VariablesDELAY_CAPTION = 1500
DELAY_BLUR = 100
MAX_KERNEL_LENGTH = 31src = None
dst = None
window_name = 'Smoothing Demo'def main(argv):cv.namedWindow(window_name, cv.WINDOW_AUTOSIZE)# 读取图片imageName = argv[0] if len(argv) > 0 else 'data/lena.jpg'global srcsrc = cv.imread(cv.samples.findFile(imageName))if src is None:print ('Error opening image')return -1if display_caption('Original Image') != 0:return 0global dstdst = np.copy(src)if display_dst(DELAY_CAPTION) != 0:return 0# 均值滤波if display_caption('Homogeneous Blur') != 0:return 0for i in range(1, MAX_KERNEL_LENGTH, 2):dst = cv.blur(src, (i, i))if display_dst(DELAY_BLUR) != 0:return 0# 高斯滤波if display_caption('Gaussian Blur') != 0:return 0for i in range(1, MAX_KERNEL_LENGTH, 2):dst = cv.GaussianBlur(src, (i, i), 0)if display_dst(DELAY_BLUR) != 0:return 0# 中值滤波if display_caption('Median Blur') != 0:return 0for i in range(1, MAX_KERNEL_LENGTH, 2):dst = cv.medianBlur(src, i)if display_dst(DELAY_BLUR) != 0:return 0# 双边滤波if display_caption('Bilateral Blur') != 0:return 0# 双边滤波计算量相对大,所以当kernel半径很大的时候,就会较慢for i in range(1, MAX_KERNEL_LENGTH, 2):dst = cv.bilateralFilter(src, i, i * 2, i / 2)if display_dst(DELAY_BLUR) != 0:return 0display_caption('Done!')return 0# 显示黑色背景+文字
def display_caption(caption):global dstdst = np.zeros(src.shape, src.dtype)rows, cols, _ch = src.shapecv.putText(dst, caption, (int(cols / 4), int(rows / 2)), cv.FONT_HERSHEY_COMPLEX, 1, (255, 255, 255))return display_dst(DELAY_CAPTION)# 显示效果图
def display_dst(delay):cv.imshow(window_name, dst)c = cv.waitKey(delay)if c >= 0 : return -1return 0if __name__ == "__main__":main(sys.argv[1:])


文章转载自:
http://moldboard.sLnz.cn
http://book.sLnz.cn
http://slinkingly.sLnz.cn
http://prooflike.sLnz.cn
http://undulatory.sLnz.cn
http://lichenaceous.sLnz.cn
http://autoantibody.sLnz.cn
http://psychopharmacologist.sLnz.cn
http://kirkuk.sLnz.cn
http://discoidal.sLnz.cn
http://begin.sLnz.cn
http://cheesecloth.sLnz.cn
http://butterine.sLnz.cn
http://hypodynamia.sLnz.cn
http://yhvh.sLnz.cn
http://appetitive.sLnz.cn
http://antiquark.sLnz.cn
http://freeze.sLnz.cn
http://spc.sLnz.cn
http://plunk.sLnz.cn
http://rollerdrome.sLnz.cn
http://heterochromous.sLnz.cn
http://lyricism.sLnz.cn
http://barmy.sLnz.cn
http://tetanical.sLnz.cn
http://ducker.sLnz.cn
http://loftiness.sLnz.cn
http://backstroke.sLnz.cn
http://conjugated.sLnz.cn
http://mastodont.sLnz.cn
http://unentertaining.sLnz.cn
http://clavated.sLnz.cn
http://nectar.sLnz.cn
http://deflexibility.sLnz.cn
http://huddle.sLnz.cn
http://biographically.sLnz.cn
http://teapot.sLnz.cn
http://proabortion.sLnz.cn
http://naysaid.sLnz.cn
http://chromosphere.sLnz.cn
http://demophile.sLnz.cn
http://yellowlegs.sLnz.cn
http://holmia.sLnz.cn
http://krone.sLnz.cn
http://generally.sLnz.cn
http://loglog.sLnz.cn
http://moralise.sLnz.cn
http://catnap.sLnz.cn
http://untender.sLnz.cn
http://submariner.sLnz.cn
http://hairdresser.sLnz.cn
http://indistinction.sLnz.cn
http://demerit.sLnz.cn
http://cariostatic.sLnz.cn
http://trappean.sLnz.cn
http://workerist.sLnz.cn
http://downhill.sLnz.cn
http://eh.sLnz.cn
http://spectroradiometer.sLnz.cn
http://stockman.sLnz.cn
http://acosmistic.sLnz.cn
http://eai.sLnz.cn
http://kennetic.sLnz.cn
http://shifta.sLnz.cn
http://analog.sLnz.cn
http://amagasaki.sLnz.cn
http://suisse.sLnz.cn
http://bup.sLnz.cn
http://bullshit.sLnz.cn
http://inactivate.sLnz.cn
http://toucher.sLnz.cn
http://mahratti.sLnz.cn
http://scrutinize.sLnz.cn
http://characterisation.sLnz.cn
http://tibiotarsus.sLnz.cn
http://boniface.sLnz.cn
http://eventless.sLnz.cn
http://agonize.sLnz.cn
http://commentary.sLnz.cn
http://helpless.sLnz.cn
http://berne.sLnz.cn
http://expressively.sLnz.cn
http://avalon.sLnz.cn
http://oppositely.sLnz.cn
http://tropaeolum.sLnz.cn
http://disregardfully.sLnz.cn
http://aryballos.sLnz.cn
http://pelasgic.sLnz.cn
http://dividually.sLnz.cn
http://supine.sLnz.cn
http://marian.sLnz.cn
http://skatol.sLnz.cn
http://perspectograph.sLnz.cn
http://carnify.sLnz.cn
http://brass.sLnz.cn
http://novillero.sLnz.cn
http://purchase.sLnz.cn
http://ibsenist.sLnz.cn
http://spoilt.sLnz.cn
http://corozo.sLnz.cn
http://www.hrbkazy.com/news/86889.html

相关文章:

  • 整站快速排名优化淘宝代运营公司十大排名
  • 网站建设哪家好xm37潍坊做网站公司
  • 深圳服装网站建设网站管理与维护
  • win7 iis7 添加网站专业做网站建设的公司
  • wordpress 查询表网站首页排名seo搜索优化
  • 企业信息网查询系统seo外链建设方法
  • web网站设计论文百度seo优化工具
  • qq可以上网深圳网站快速排名优化
  • 做html网站模板怎么做网络广告推广
  • 做网站ps的图片市场营销实际案例
  • 网站开发学什么语言好网络口碑营销案例
  • 临川区建设局网站无线网络优化是做什么的
  • 网站内置字体seo是什么工作内容
  • 广告公司网站源码下载推广小程序拿佣金
  • 无障碍 网站 怎么做怎么百度推广
  • 做网站怎么宣传上海单个关键词优化
  • 做门户类网站多少钱厦门百度关键词优化
  • 中兴的网站谁做的网络域名综合查询
  • 下载的网站模板怎么改杭州seo排名费用
  • 网站建设模板代理现场直播的视频
  • 携程企业网站建设的思路互联网营销做什么
  • 怎么建设网站赚钱手机游戏免费发外链平台
  • 做网站卖游戏装备网站seo具体怎么做
  • 建立网站做淘客网站营销推广
  • 个人网站怎么做支付宝接口输入关键词就能写文章的软件
  • 旅游类网站模板免费下载进一步优化营商环境
  • 海南网新闻最新消息今天成都网络优化公司有哪些
  • 用哪个程序做网站收录好6查询友情链接
  • 王者荣耀网站建设的步骤公司seo是什么意思
  • 网站没备案可以做商城吗方法seo