第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波16 - 锐化高通滤波器 - 钝化掩蔽和高提升滤波

目录

  • 锐化(高通)空间滤波器
      • 钝化掩蔽和高提升滤波

锐化(高通)空间滤波器

  • 平滑通过称为低通滤波
  • 类似于积分运算
  • 锐化通常称为高通滤波
  • 微分运算
  • 高过(负责细节的)高频,衰减或抑制低频

钝化掩蔽和高提升滤波

  • 钝化掩蔽

  • 从原图像中减去一幅钝化(平滑后的)图像

  • 步骤:

  1. 模糊原图像
  2. 从原图像减去模糊后的图像(产生的差称为模板)
  3. 将模板与原图像相加

fˉ(x,y)\bar f(x,y)fˉ(x,y)表示模糊后的图像,则有
gmask(x,y)=f(x,y)−fˉ(x,y)(3.55)g_{mask}(x, y) = f(x, y) - \bar f(x,y) \tag{3.55}gmask(x,y)=f(x,y)fˉ(x,y)(3.55)
g(x,y)=f(x,y)+kgmask(x,y)(3.56)g(x,y) = f(x,y) + k g_{mask}(x, y) \tag{3.56}g(x,y)=f(x,y)+kgmask(x,y)(3.56)
权值k≥0k \ge 0k0k=1k = 1k=1时,它是钝化掩蔽k>1k > 1k>1时,这个过程称为高提升滤波,选择k≤1k \leq 1k1可以减少钝化模板的贡献。

# 钝化掩蔽过程
y = np.linspace(0.4,1, 7)
y = np.pad(y, (4, 4), mode='constant', constant_values=[0.4, 1])fig = plt.figure(figsize=(16, 8))
ax_1 = fig.add_subplot(2, 2, 1)
ax_1.plot(y, '-', label="y")
ax_1.legend(loc='best', fontsize=12)kernel = np.array([0.2, 0.6, 0.2])
y_bar = np.convolve(y, kernel, 'same')y_bar = y_bar[1:-1]
ax_2 = fig.add_subplot(2, 2, 2)
ax_2.plot(y_bar, '-', label='Smooth')
ax_2.legend(loc='best', fontsize=12)y = y[1:-1]
y_mask = y - y_barax_3 = fig.add_subplot(2, 2, 3)
ax_3.plot(y_mask, '-', label='y - y_bar')
ax_3.legend(loc='best', fontsize=12)y_dst = y + y_mask
y_dst = normalize(y_dst)
ax_4 = fig.add_subplot(2, 2, 4)
ax_4.plot(y_dst, '-', label='y + y_mask')
ax_4.legend(loc='best', fontsize=12)plt.tight_layout()
plt.show()

在这里插入图片描述

# 纯化掩蔽与高提升滤波
img_ori = cv2.imread("DIP_Figures/DIP3E_Original_Images_CH03/Fig0338(a)(blurry_moon).tif", 0)kernel_31 = gauss_kernel((9, 9), sigma=1)
img_31 = separate_kernel_conv2D(img_ori, kernel=kernel_31)
img_31 = np.uint8(normalize(img_31) * 255)img_diff = img_ori - img_31img_dst_1 = img_ori + img_diff
img_dst_1 = np.uint8(normalize(img_dst_1) * 255)img_dst_2 = img_ori + 2 * img_diff
img_dst_2 = np.uint8(normalize(img_dst_2) * 255)img_dst_3 = img_ori - 3 * img_diff
img_dst_3 = np.uint8(normalize(img_dst_3) * 255)plt.figure(figsize=(15, 12))
plt.subplot(2,3,1), plt.imshow(img_ori,   'gray', vmax=255), plt.title("Original"), plt.xticks([]), plt.yticks([])
plt.subplot(2,3,2), plt.imshow(img_31,    'gray', vmax=255), plt.title("Smooth"), plt.xticks([]), plt.yticks([])
plt.subplot(2,3,3), plt.imshow(img_diff,  'gray', vmax=255), plt.title("Diff"), plt.xticks([]), plt.yticks([])
plt.subplot(2,3,4), plt.imshow(img_dst_1, 'gray', vmax=255), plt.title("k = 1"), plt.xticks([]), plt.yticks([])
plt.subplot(2,3,5), plt.imshow(img_dst_2, 'gray', vmax=255), plt.title("k = 2"), plt.xticks([]), plt.yticks([])
plt.subplot(2,3,6), plt.imshow(img_dst_2, 'gray', vmax=255), plt.title("k = 3"), plt.xticks([]), plt.yticks([])
plt.tight_layout()
plt.show()

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/260764.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python画圆并填充图形颜色_如何使用python设计语言graphics绘制圆形图形

在python设计语言中,可以利用第三方包graphics绘制不同的图形,有圆形、直线、矩形等。如果想要绘制一个圆形,可以设置圆形的半径和坐标位置。下面利用一个实例说明绘制圆形,操作如下:工具/原料 python 截图工具 方法/步…

设计模式学习-工厂方法模式

在上文(设计模式学习-简单工厂模式)的模拟场景中,我们用简单工厂模式实现了VISA和MASTERARD卡的刷卡处理,系统成功上线并运行良好,突然有一天老大跑来说,我们的系统需要升级,提供对一般银联卡的支持。怎么办&#xff1…

word2010激活工具使用方法

1、关闭杀毒,关闭正打开着的word文档 2、执行Activator_v1.2.exe-->Activation Office 2010VL --》按1 --》完毕。 3、打开word--》文件--》帮助--》看右上角。 2、【补充】使用 Office 2010 Toolkit 下载地址: http://vdisk.weibo.com/s/yoz9R 或…

第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波17 - 锐化高通滤波器 - 梯度图像(罗伯特,Sobel算子)

目录锐化(高通)空间滤波器使用一阶导数锐化图像-梯度锐化(高通)空间滤波器 平滑通过称为低通滤波类似于积分运算锐化通常称为高通滤波微分运算高过(负责细节的)高频,衰减或抑制低频…

网络传输层之TCP、UDP详解

1、传输层存在的必要性 由于网络层的分组传输是不可靠的,无法了解数据到达终点的时间,无法了解数据未达终点的状态。因此有必要增强网络层提供服务的服务质量。 2、引入传输层的原因 面向连接的传输服务与面向连接的网络服务类似,都分为建立连…

第3章 Python 数字图像处理(DIP) - 灰度变换与空间滤波18 - 低通、高通、带阻和带通滤波器、组合使用空间增强方法

低通、高通、带阻和带通滤波器 得到空间滤波器的第三种方法,生成一维滤波器函数,然后要么使用式(3.42)wvvTw vv^TwvvT生成二维可分离的滤波器函数,要么旋转这些一维函数来生成二维核。旋转后的一维函数是圆对称(各向同性&#x…

Linux Tomcat 6.0安装配置实践总结

系统环境: Red Hat Enterprise Linux Server release 5.7 (Tikanga) 64位 Tomcat下载 从官方网站 http://tomcat.apache.org/下载你需要的Tomcat版本,目前Tomcat主要版本有Tomcat 6.0、Tomcat 7.0、Tomcat 8.0三个版本,下面我们以6.0(6.0.39…

第4章 Python 数字图像处理(DIP) - 频率域滤波1 - 傅里叶级数和变换简史

本章主要讲解频域域滤波的技术,主要技术用到是大家熟悉的傅里叶变换与傅里叶反变换。这里有比较多的篇幅讲解的傅里叶的推导进程,用到Numpy傅里叶变换。本章理论基础比较多,需要更多的耐心来阅读,有发现有错误,可以与我…

分页探究--Filter+JSTL

最近卡了一个功能就是分页,查了很多资料,分页大概是两种类型:一种是把数据库的东西全部查出来然后放在session里,用list一页一页传到页面,这样的消耗比较大;另一种就是使用sql语句的limit来进行数据库分页查询。我使用…

python能做大型游戏吗_python有做大型游戏的潜力吗?

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 岂止是有潜力,简直是很合适! 猪厂两大游戏客户端引擎,NeoX 和 Messiah,都使用 Python 作为脚本语言。 你最近所了解的比较火的挂着猪厂旗号的&a…

第4章 Python 数字图像处理(DIP) - 频率域滤波2 - 复数、傅里叶级数、连续单变量函数的傅里叶变换、卷积

目录基本概念复数傅里叶级数冲激函数及其取样(筛选)性质连续单变量函数的傅里叶变换卷积基本概念 复数 复数CCC的定义为 CRjI(4.3)C R jI \tag{4.3}CRjI(4.3) R,IR,IR,I为实数,RRR是实部,III是虚部,j−1j \sqrt{-…

不要迷失在技术的海洋中【转】

转自http://www.cnblogs.com/lovecherry/archive/2007/10/28/940555.html 不要迷失在技术的海洋中 技术就好像一片汪洋大海,越深入越望不到边际。就拿自己的体验来说吧,2000年的时候在学校搞ASP,觉得网页开发就是这么简单,把数据库…

使用代码设置Item级的权限(权限总结1)

itle in english:set Item Level Permission for SharePoint (MOSS/WSS) List/Document Library Programmatically 有些时候,我们需要为文档库里面某个文件设置特殊的权限,这个权限不继承自列表权限,当然最简单的最好是再创建一个列表&#…

echarts 4.0.4怎么下载_怎么让ECharts的提示框tooltip自动轮播?

1. 怎么让ECharts的提示框tooltip自动轮播?在用ECharts做大屏或者可视化展示项目的时候,让提示框tooltip自动轮播是比较常见的需求,给大家推荐一个插件叫echarts-tooltip-auto-show,名字是有点长,但是挺好用的。在hover显示tooltip之后&…

[React Native]高度自增长的TextInput组件

之前我们学习了从零学React Native之11 TextInput了解了TextInput相关的属性。 在开发中,我们有时候有这样的需求, 希望输入区域的高度随着输入内容的长度而增长, 如下: 这时候我们需要自定义一个组件: 在项目中创建AutoExpandingTextInput.js import …

第4章 Python 数字图像处理(DIP) - 频率域滤波3 - 取样和取样函数的傅里叶变换、混叠

目录取样和取样函数的傅里叶变换取样取样后的函数的傅里叶变换取样定理混叠由取样后的数据重建(复原)函数取样和取样函数的傅里叶变换 取样 fˉ(t)f(t)sΔT(t)∑n−∞∞f(t)δ(t−nΔT)(4.27)\bar f(t) f(t)s_{\Delta T}(t) \sum_{n-\infty}^{\infty}…

[转]Android开发,实现可多选的图片ListView,便于批量操作

本文转自:http://www.cnblogs.com/gergulo/archive/2011/06/14/2080629.html 之前项目需要实现一个可多选的图片列表,用户选中一到多张图片后,批量上传。但是网上有可多选普通列表的代码、也有单纯图片列表的代码,却没有两者合并的…

个人信息安全影响评估指南_发布 | 网络安全标准实践指南—移动互联网应用程序(App)收集使用个人信息自评估指南...

关于发布《网络安全标准实践指南—移动互联网应用程序(App)收集使用个人信息自评估指南》的通知信安秘字[2020] 40号各有关单位:为落实《网络安全法》相关要求,围绕中央网信办、工信部、公安部、市场监管总局联合制定的《App违法违规收集使用个人信息行为…

在线生成 CSS3 的工具

1) CSS Creator – Layout Design 2) CSS Menu Maker 3) CSS3 Please 4) CSS3 Generator 5) CSS Border Radius 6) CSS3 Gradient Generator 7) CSS3 Button Generator 8 ) Mike Plate’s CSS3 Playground 9) Border Image Generator 10) CSS3 WRAP 11) Button Maker 12) Font…