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

中国电信爱资源app关键词优化公司哪家强

中国电信爱资源app,关键词优化公司哪家强,客流分析系统公司,昆明医院网站建设基于非锐化掩码锐化图像 0. 前言1. 使用 scikit-image filters 模块执行非锐化掩码2. 使用 PIL ImageFilter 模块执行非锐化掩码3. 使用 SimpleITK 执行拉普拉斯锐化4. 使用 OpenCV 实现非锐化掩码小结系列链接 0. 前言 非锐化滤波器是一个简单的锐化算子,通过从原…

基于非锐化掩码锐化图像

    • 0. 前言
    • 1. 使用 scikit-image filters 模块执行非锐化掩码
    • 2. 使用 PIL ImageFilter 模块执行非锐化掩码
    • 3. 使用 SimpleITK 执行拉普拉斯锐化
    • 4. 使用 OpenCV 实现非锐化掩码
    • 小结
    • 系列链接

0. 前言

非锐化滤波器是一个简单的锐化算子,通过从原始图像中减去图像的平滑(非锐化)版本来增强边缘(以及图像中的其他高频分量),锐化的目的是突出图像中的细节或增强模糊的细节。在本节中,我们将学习如何利用 SimpleITKOpenCV 库函数使用非锐化掩码锐化图像。可以使用以下公式表示非锐化掩码的基本概念:

g ( x , y ) = f ( x , y ) − f s m o o t h ( x , y ) f s h a r p ( x , y ) = f ( x , y ) + k ∗ g ( x , y ) g(x,y)=f(x,y)-f_{smooth}(x,y) \\ f_{sharp}(x,y)=f(x,y)+k*g(x,y) g(x,y)=f(x,y)fsmooth(x,y)fsharp(x,y)=f(x,y)+kg(x,y)

1. 使用 scikit-image filters 模块执行非锐化掩码

scikit-image 库的 filters 模块提供了 unsharp_mask() 函数用于执行非锐化掩码,该函数接受参数半径 radius 和数量 amount,边缘边界变暗和变亮的程度由参数 amount 控制,参数 radius 是指平滑核的半径。

(1) 首先导入所需的模块和函数:

import numpy as np
import matplotlib.pylab as plt
from skimage.io import imread
from skimage.filters import unsharp_mask

(2) 使用 unsharp_mask() 函数,并使用不同的参数值调用该函数,以查看当滤波器应用于输入图像时,对输出锐化图像的影响:

im = imread('1.png')
im1 = unsharp_mask(im, radius=1, amount=1)
im2 = unsharp_mask(im, radius=5, amount=2)
im3 = unsharp_mask(im, radius=20, amount=3)

(3) 下图显示了执行以上代码带到输出图像,可以看出,参数半径 radius 和数量 amount 值增加得越大,图像变得越清晰:

fig, axes = plt.subplots(nrows=2, ncols=2, sharex=True, sharey=True, figsize=(20, 12))
axes = axes.ravel()
axes[0].set_title('Original image', size=10), axes[0].imshow(im)
axes[1].set_title('Enhanced image, radius=1, amount=1.0', size=10), axes[1].imshow(im1)
axes[2].set_title('Enhanced image, radius=5, amount=2.0', size=10), axes[2].imshow(im2)
axes[3].set_title('Enhanced image, radius=20, amount=3.0', size=10), axes[3].imshow(im3)
for ax in axes:ax.axis('off')
fig.tight_layout()
plt.show()

锐化效果

2. 使用 PIL ImageFilter 模块执行非锐化掩码

PIL.ImageFilter 模块的 unsharpmask() 函数可用于在图像上应用非锐化掩码。在函数中,要增强的边缘的大小受到函数半径 radius 参数的影响,较小的半径可增强小尺度(细)细节,较大的半径值可能会在边缘产生光晕(物体周围可检测到的微弱光线边缘);百分比 percent 参数表示非锐化强度。

(1) 导入所需的模块,并读取输入图像:

import numpy as np
import matplotlib.pylab as plt
from PIL import Image, ImageFilter
def plot_image(image, title=None, sz=10):plt.imshow(image)plt.title(title, size=sz)plt.axis('off')im = Image.open('1.png')

(2) 使用函数 unsharpmask() 锐化输入图像,并观察使用不同参数值对图像锐化的影响:

plt.figure(figsize=(15,16))
plt.subplot(221), plot_image(im, 'original')
im1 = im.filter(ImageFilter.UnsharpMask(radius=2, percent=150))
plt.subplot(222), plot_image(im1, 'unsharp masking, radius=2, percent=150')
im1 = im.filter(ImageFilter.UnsharpMask(radius=5, percent=200))
plt.subplot(223), plot_image(im1, 'unsharp masking, radius=5, percent=200')
im1 = im.filter(ImageFilter.UnsharpMask(radius=10, percent=250))
plt.subplot(224), plot_image(im1, 'unsharp masking, radius=10, percent=250')
plt.tight_layout()
plt.show()

执行以上代码,可以得到如下锐化输出图像:

图像锐化

3. 使用 SimpleITK 执行拉普拉斯锐化

SimpleITK 库的 UnsharpMaskimageFilter() 也可以用来锐化图像,该函数是一个边缘增强滤波器。该滤波器从图像中减去图像的平滑版本,获得边缘增强效果。可以通过参数来控制锐化效果,主要包括数量 amount、半径 sigma、阈值 threshold 以及是否将结果值限制在输出类型范围内。

(1) 导入所需的库和模块,并读取输入图像,将读取的图像的类型应指定为浮点型,因为非锐化掩码滤波器不接受 UINT8 类型的图像。

import SimpleITK as sitk
import numpy as np
import matplotlib.pylab as pltdef plot_image(image, title=None, sz=10):plt.imshow(image)plt.title(title, size=sz)plt.axis('off')
image = sitk.ReadImage('1.png', sitk.sitkFloat32)

(2) 通过调用构造函数来创建一个 UnsharpMaskImageFilter 类的对象,设置数量 amountsigma (平滑)参数,然后,在输入图像上执行非锐化滤波,获得输出图像如下:

filt = sitk.UnsharpMaskImageFilter() 
filt.SetAmount(1.5) # typically set between 1 and 2
filt.SetSigmas(0.15)
sharpened = filt.Execute(image)

(3) 使用 GetArrayFromImage() 函数将输入和输出图像转换为 numpy 数组:

np_image = sitk.GetArrayFromImage(image)
np_image = np_image / np_image.max()
np_sharpened = sitk.GetArrayFromImage(sharpened)
np_sharpened = np_sharpened / np_sharpened.max()

(4) 绘制输入和输出图像:

plt.figure(figsize=(20,10))
plt.gray()
plt.subplots_adjust(0,0,1,1,0.05,0.05)
plt.subplot(121), plot_image(np_image, 'Original Image')
plt.subplot(122), plot_image(np_sharpened, 'Sharpened Image (with UnsharpMask)')
plt.show()

拉普拉斯锐化

4. 使用 OpenCV 实现非锐化掩码

接下来,我们直接利用在本节一开始给出的定义来实现非锐化掩码。我们在本节中使用函数 Gaussianblur() 获得平滑的输入图像和函数 AddWeighted() 混合两张图像。

(1) 读取输入图像,并使用 11 x 11 高斯核平滑输入图像,在 cv2.GaussianBlur() 函数中设定参数 σ x = σ y = 10 σx=σy= 10 σx=σy=10

import SimpleITK as sitk
import numpy as np
import matplotlib.pylab as plt
import cv2def plot_image(image, title=None, sz=10):plt.imshow(image)plt.title(title, size=sz)plt.axis('off')im = cv2.imread("1.png")
im_smoothed = cv2.GaussianBlur(im, (11,11), 10, 10)

(2) 根据非锐化掩码的定义可知:

sharpened = original + k.(original − smoothed) = (1 + k).original-ksmoothed

其中,k 为常数,该方程意味着锐化等效于将原始输入和平滑输入图像分别具有权重 1+k-k 进行混合。

(3) 使用 cv2.addWeighted() 函数来获得输出图像,其中 k=3.0

im1 = cv2.addWeighted(im, 1.0 + 3.0, im_smoothed, -3.0, 0) # im1 = im + 3.0*(im - im_smoothed)

(4) 绘制输入和输出图像:

plt.figure(figsize=(20,25))
plt.subplots_adjust(0,0,1,0.95,0.05,0.05)
plt.subplot(121), plot_image(cv2.cvtColor(im, cv2.COLOR_BGR2RGB), 'Original Image')
plt.subplot(122), plot_image(cv2.cvtColor(im1, cv2.COLOR_BGR2RGB), 'Sharpened Image')
plt.show()

图像锐化

小结

图像平滑与图像锐化是两种效果相反的图像处理技术,图像平滑往往使图像中的边界、轮廓变得模糊,而图像锐化就是为了减少模糊图像中不利于图像分析的效果,使图像的边缘变的清晰。本节中,我们学习了使用多种不同图像处理库(包括 scikit-imagePIL 以及 OpenCV 等)来解决图像锐化问题。

系列链接

Python图像处理【1】图像与视频处理基础
Python图像处理【2】探索Python图像处理库
Python图像处理【3】Python图像处理库应用
Python图像处理【4】图像线性变换
Python图像处理【5】图像扭曲/逆扭曲
Python图像处理【6】通过哈希查找重复和类似的图像
Python图像处理【7】采样、卷积与离散傅里叶变换
Python图像处理【8】使用低通滤波器模糊图像
Python图像处理【9】使用高通滤波器执行边缘检测
Python图像处理【10】基于离散余弦变换的图像压缩
Python图像处理【11】利用反卷积执行图像去模糊
Python图像处理【12】基于小波变换执行图像去噪
Python图像处理【13】使用PIL执行图像降噪
Python图像处理【14】基于非线性滤波器的图像去噪


文章转载自:
http://jul.jjpk.cn
http://oospore.jjpk.cn
http://judicatory.jjpk.cn
http://instantaneous.jjpk.cn
http://typography.jjpk.cn
http://telemicroscope.jjpk.cn
http://ptfe.jjpk.cn
http://nitryl.jjpk.cn
http://anchorage.jjpk.cn
http://soudan.jjpk.cn
http://infortune.jjpk.cn
http://et.jjpk.cn
http://arborization.jjpk.cn
http://procacious.jjpk.cn
http://progressive.jjpk.cn
http://cacogastric.jjpk.cn
http://unisys.jjpk.cn
http://abbreviator.jjpk.cn
http://japonic.jjpk.cn
http://crustification.jjpk.cn
http://collectorate.jjpk.cn
http://telecontrol.jjpk.cn
http://woefully.jjpk.cn
http://feeling.jjpk.cn
http://thermopile.jjpk.cn
http://deckhand.jjpk.cn
http://maritime.jjpk.cn
http://involucrum.jjpk.cn
http://malthusian.jjpk.cn
http://hydropath.jjpk.cn
http://throttlehold.jjpk.cn
http://disillude.jjpk.cn
http://tanning.jjpk.cn
http://gonad.jjpk.cn
http://lamby.jjpk.cn
http://hue.jjpk.cn
http://trendiness.jjpk.cn
http://kamchatka.jjpk.cn
http://planation.jjpk.cn
http://noncommunicant.jjpk.cn
http://anele.jjpk.cn
http://citing.jjpk.cn
http://pinpoint.jjpk.cn
http://screamingly.jjpk.cn
http://acpi.jjpk.cn
http://destroyer.jjpk.cn
http://genevra.jjpk.cn
http://biped.jjpk.cn
http://gingerbready.jjpk.cn
http://jointed.jjpk.cn
http://supersession.jjpk.cn
http://auricled.jjpk.cn
http://skete.jjpk.cn
http://campylotropous.jjpk.cn
http://servo.jjpk.cn
http://dismissive.jjpk.cn
http://illatively.jjpk.cn
http://bauhaus.jjpk.cn
http://diachronic.jjpk.cn
http://gastrotrichan.jjpk.cn
http://sanctum.jjpk.cn
http://demagnetization.jjpk.cn
http://nerviness.jjpk.cn
http://thermogravimetry.jjpk.cn
http://remembrance.jjpk.cn
http://ironfisted.jjpk.cn
http://jonsonian.jjpk.cn
http://vee.jjpk.cn
http://awesome.jjpk.cn
http://peroxid.jjpk.cn
http://venography.jjpk.cn
http://swarthily.jjpk.cn
http://solifluction.jjpk.cn
http://acclimatization.jjpk.cn
http://acculturationist.jjpk.cn
http://maladroit.jjpk.cn
http://krill.jjpk.cn
http://perforative.jjpk.cn
http://sudetenland.jjpk.cn
http://ivanovo.jjpk.cn
http://bawdily.jjpk.cn
http://vervain.jjpk.cn
http://closet.jjpk.cn
http://bottlebrush.jjpk.cn
http://pedagogics.jjpk.cn
http://pos.jjpk.cn
http://callisthenics.jjpk.cn
http://sped.jjpk.cn
http://strappado.jjpk.cn
http://nigrostriatal.jjpk.cn
http://weekly.jjpk.cn
http://slather.jjpk.cn
http://comandante.jjpk.cn
http://flagellum.jjpk.cn
http://locutorium.jjpk.cn
http://biotechnics.jjpk.cn
http://ovid.jjpk.cn
http://ojt.jjpk.cn
http://cagoule.jjpk.cn
http://cull.jjpk.cn
http://www.dt0577.cn/news/98533.html

相关文章:

  • 安陆网站的建设线上推广平台报价
  • 做兼职网站有哪些怎么投放广告
  • 网络营销从网站建设开始互站网
  • gta5办公室网站建设中怎么寻找网站关键词并优化
  • 太原要做网站的公司网站关键词优化案例
  • 简历自我评价淘宝seo搜索排名优化
  • 无锡网站建设有限公司网址信息查询
  • 网站建设客户常问到的问题seo课程培训要多少钱
  • wordpress多店铺西安企业网站seo
  • 百度云wordpress建站登录注册入口
  • 建网站abc移动广告联盟
  • 做网站和维护要多少钱外链平台
  • 门户网站模版无锡百度快照优化排名
  • wordpress男性模板学好seo
  • ims2009 asp企业网站建设百度宁波营销中心
  • 网站怎么没有排名中视频自媒体平台注册
  • 关于我们做网站产品网络营销推广方案
  • 深圳定制礼品杯seo短视频发布页
  • 免费申请注册网站互联网广告代理商
  • 自己电脑做网站服务器推广找客户平台
  • 一起做业官方网站seo研究中心晴天
  • 室内设计专业就业前景福州seo招聘
  • 网站菜单 网站导航长沙关键词优化费用
  • 网站怎么做框架集举例说明什么是seo
  • 怎么键卖东西的网站seo优质友链购买
  • 沈阳建设工程信息网下载网站关键词优化排名怎么做
  • 做一个网站需要多大的空间朋友圈广告推广平台
  • 哪些网站做物流推广好泉州百度seo
  • php做网站主题神点击恶意点击软件
  • 易捷网百度搜索名字排名优化