【OpenCV 例程200篇】74. 图像的抗混叠

欢迎关注 『OpenCV 例程200篇』 系列,持续更新中
欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中

2.2 图像的混叠和重取样

由于无法对一个函数无限地取样,因此在数字图像中总是会出现混叠。

混叠分为空间混叠和时间混叠。空间混叠是由欠取样造成的,在陌生重复的图像中较为明显。时间混叠与动态图像序列中图像的时间间隔相关,如辐条倒转的“车轮效应”。

空间混叠的主要问题是会引入伪影,即原始图像中未出现的线条锯齿、虚假高光和频率模式。

对图像进行缩放都会引入混叠。图像放大可以视为过取样,使用双线性、双三次内插可以降低图像放大中的混叠。图像缩小可以视为欠取样,混叠通常更为严重。

为了降低混叠,在重取样前要使用低通滤波器来平滑,以衰减图像的高频分量,可以有效地抑制混叠,但图像的清晰度也有所下降。

例程 8.9:图像的抗混叠

    # 8.9:图像的抗混叠imgGray = cv2.imread("../images/Fig0417a.tif", flags=0)  # flags=0 读取为灰度图像height, width = imgGray.shape[:2]  # 图片的高度和宽度# 先缩小图像,再放大图像imgZoom1 = cv2.resize(imgGray, (int(0.33*width), int(0.33*height)))imgZoom2 = cv2.resize(imgZoom1, None, fx=3, fy=3, interpolation=cv2.INTER_AREA)# 先对原图像进行5x5的低通滤波,再缩小图像,再放大图像kSize = (5, 5)imgBoxFilter = cv2.boxFilter(imgGray, -1, kSize)  # cv2.boxFilter 方法imgZoom3 = cv2.resize(imgBoxFilter, (int(0.33*width), int(0.33*height)))imgZoom4 = cv2.resize(imgZoom3, None, fx=3, fy=3, interpolation=cv2.INTER_AREA)fig = plt.figure(figsize=(9,5))plt.subplot(131), plt.axis('off'), plt.title("Origin")plt.imshow(imgGray, cmap='gray')plt.subplot(132), plt.axis('off'), plt.title("Resample")plt.imshow(imgZoom2, cmap='gray')plt.subplot(133), plt.axis('off'), plt.title("Box Resample")plt.imshow(imgZoom4, cmap='gray')plt.tight_layout()plt.show()


(本节完)


版权声明:

youcans@xupt 原创作品,转载必须标注原文链接

Copyright 2021 youcans, XUPT

Crated:2022-1-20

欢迎关注 『OpenCV 例程200篇』 系列,持续更新中
欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中

【OpenCV 例程200篇】01. 图像的读取(cv2.imread)
【OpenCV 例程200篇】02. 图像的保存(cv2.imwrite)
【OpenCV 例程200篇】03. 图像的显示(cv2.imshow)
【OpenCV 例程200篇】04. 用 matplotlib 显示图像(plt.imshow)
【OpenCV 例程200篇】05. 图像的属性(np.shape)
【OpenCV 例程200篇】06. 像素的编辑(img.itemset)
【OpenCV 例程200篇】07. 图像的创建(np.zeros)
【OpenCV 例程200篇】08. 图像的复制(np.copy)
【OpenCV 例程200篇】09. 图像的裁剪(cv2.selectROI)
【OpenCV 例程200篇】10. 图像的拼接(np.hstack)
【OpenCV 例程200篇】11. 图像通道的拆分(cv2.split)
【OpenCV 例程200篇】12. 图像通道的合并(cv2.merge)
【OpenCV 例程200篇】13. 图像的加法运算(cv2.add)
【OpenCV 例程200篇】14. 图像与标量相加(cv2.add)
【OpenCV 例程200篇】15. 图像的加权加法(cv2.addWeight)
【OpenCV 例程200篇】16. 不同尺寸的图像加法
【OpenCV 例程200篇】17. 两张图像的渐变切换
【OpenCV 例程200篇】18. 图像的掩模加法
【OpenCV 例程200篇】19. 图像的圆形遮罩
【OpenCV 例程200篇】20. 图像的按位运算
【OpenCV 例程200篇】21. 图像的叠加
【OpenCV 例程200篇】22. 图像添加非中文文字
【OpenCV 例程200篇】23. 图像添加中文文字
【OpenCV 例程200篇】23. 图像添加中文文字
【OpenCV 例程200篇】24. 图像的仿射变换
【OpenCV 例程200篇】25. 图像的平移
【OpenCV 例程200篇】26. 图像的旋转(以原点为中心)
【OpenCV 例程200篇】27. 图像的旋转(以任意点为中心)
【OpenCV 例程200篇】28. 图像的旋转(直角旋转)
【OpenCV 例程200篇】29. 图像的翻转(cv2.flip)
【OpenCV 例程200篇】30. 图像的缩放(cv2.resize)
【OpenCV 例程200篇】31. 图像金字塔(cv2.pyrDown)
【OpenCV 例程200篇】32. 图像的扭变(错切)
【OpenCV 例程200篇】33. 图像的复合变换
【OpenCV 例程200篇】34. 图像的投影变换
【OpenCV 例程200篇】35. 图像的投影变换(边界填充)
【OpenCV 例程200篇】36. 直角坐标与极坐标的转换
【OpenCV 例程200篇】37. 图像的灰度化处理和二值化处理
【OpenCV 例程200篇】38. 图像的反色变换(图像反转)
【OpenCV 例程200篇】39. 图像灰度的线性变换
【OpenCV 例程200篇】40. 图像分段线性灰度变换
【OpenCV 例程200篇】41. 图像的灰度变换(灰度级分层)
【OpenCV 例程200篇】42. 图像的灰度变换(比特平面分层)
【OpenCV 例程200篇】43. 图像的灰度变换(对数变换)
【OpenCV 例程200篇】44. 图像的灰度变换(伽马变换)
【OpenCV 例程200篇】45. 图像的灰度直方图
【OpenCV 例程200篇】46. 直方图均衡化
【OpenCV 例程200篇】47. 图像增强—直方图匹配
【OpenCV 例程200篇】48. 图像增强—彩色直方图匹配
【OpenCV 例程200篇】49. 图像增强—局部直方图处理
【OpenCV 例程200篇】50. 图像增强—直方图统计量图像增强
【OpenCV 例程200篇】51. 图像增强—直方图反向追踪
【OpenCV 例程200篇】52. 图像的相关与卷积运算
【OpenCV 例程200篇】53. Scipy 实现图像二维卷积
【OpenCV 例程200篇】54. OpenCV 实现图像二维卷积
【OpenCV 例程200篇】55. 可分离卷积核
【OpenCV 例程200篇】56. 低通盒式滤波器
【OpenCV 例程200篇】57. 低通高斯滤波器
【OpenCV 例程200篇】58. 非线性滤波—中值滤波
【OpenCV 例程200篇】59. 非线性滤波—双边滤波
【OpenCV 例程200篇】60. 非线性滤波—联合双边滤波
【OpenCV 例程200篇】61. 导向滤波(Guided filter)
【OpenCV 例程200篇】62. 图像锐化——钝化掩蔽
【OpenCV 例程200篇】63. 图像锐化——Laplacian 算子
【OpenCV 例程200篇】64. 图像锐化——Sobel 算子
【OpenCV 例程200篇】65. 图像锐化——Scharr 算子
【OpenCV 例程200篇】66. 图像滤波之低通/高通/带阻/带通
【OpenCV 例程200篇】67. 空间域图像增强的综合应用
【OpenCV 例程200篇】68. 空间域图像增强的综合应用
【OpenCV 例程200篇】69. 连续非周期信号的傅立叶系数
【OpenCV 例程200篇】70. 一维连续函数的傅里叶变换
【OpenCV 例程200篇】71. 连续函数的取样
【OpenCV 例程200篇】72. 一维离散傅里叶变换
【OpenCV 例程200篇】73. 二维连续傅里叶变换
【OpenCV 例程200篇】74. 图像的抗混叠
【OpenCV 例程200篇】75. Numpy 实现图像傅里叶变换
【OpenCV 例程200篇】76. OpenCV 实现图像傅里叶变换
【OpenCV 例程200篇】77. OpenCV 实现快速傅里叶变换
【OpenCV 例程200篇】78. 频率域图像滤波基础
【OpenCV 例程200篇】79. 频率域图像滤波的基本步骤
【OpenCV 例程200篇】80. 频率域图像滤波详细步骤
【OpenCV 例程200篇】81. 频率域高斯低通滤波器
【OpenCV 例程200篇】82. 频率域巴特沃斯低通滤波器
【OpenCV 例程200篇】83. 频率域低通滤波:印刷文本字符修复
【OpenCV 例程200篇】84. 由低通滤波器得到高通滤波器
【OpenCV 例程200篇】85. 频率域高通滤波器的应用
【OpenCV 例程200篇】86. 频率域滤波应用:指纹图像处理
【OpenCV 例程200篇】87. 频率域钝化掩蔽
【OpenCV 例程200篇】88. 频率域拉普拉斯高通滤波
【OpenCV 例程200篇】89. 带阻滤波器的传递函数
【OpenCV 例程200篇】90. 频率域陷波滤波器
【OpenCV 例程200篇】91. 高斯噪声、瑞利噪声、爱尔兰噪声
【OpenCV 例程200篇】92. 指数噪声、均匀噪声、椒盐噪声
【OpenCV 例程200篇】93. 噪声模型的直方图
【OpenCV 例程200篇】94. 算术平均滤波器
【OpenCV 例程200篇】95. 几何均值滤波器
【OpenCV 例程200篇】96. 谐波平均滤波器
【OpenCV 例程200篇】97. 反谐波平均滤波器
【OpenCV 例程200篇】98. 统计排序滤波器
【OpenCV 例程200篇】99. 修正阿尔法均值滤波器
【OpenCV 例程200篇】100. 自适应局部降噪滤波器

【OpenCV 例程200篇】74. 图像的抗混叠相关推荐

  1. 【youcans 的 OpenCV 例程 200 篇】112. 滤波反投影重建图像

    欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 [youcans 的 OpenCV 例程 2 ...

  2. 【youcans 的 OpenCV 例程 200 篇】111. 雷登变换反投影重建图像

    欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 [youcans 的 OpenCV 例程 2 ...

  3. 【youcans 的 OpenCV 例程 200 篇】107. 退化图像的维纳滤波

    欢迎关注 『youcans 的 OpenCV 例程 200 篇』 系列,持续更新中 欢迎关注 『youcans 的 OpenCV学习课』 系列,持续更新中 [youcans 的 OpenCV 例程 2 ...

  4. 【OpenCV 例程200篇】80. 频率域图像滤波详细步骤

    [OpenCV 例程200篇]80. 频率域图像滤波详细步骤 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 3. 频 ...

  5. 【OpenCV 例程200篇】79. 频率域图像滤波的基本步骤

    [OpenCV 例程200篇]79. 频率域图像滤波的基本步骤 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 3. ...

  6. 【OpenCV 例程200篇】78. 频率域图像滤波基础

    [OpenCV 例程200篇]78. 频率域图像滤波基础 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 3. 频率域 ...

  7. 【OpenCV 例程200篇】76. OpenCV 实现图像傅里叶变换

    [OpenCV 例程200篇]76. OpenCV 实现图像傅里叶变换 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 ...

  8. 【OpenCV 例程200篇】75. Numpy 实现图像傅里叶变换

    [OpenCV 例程200篇]75. Numpy 实现图像傅里叶变换 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 ...

  9. 【OpenCV 例程200篇】66. 图像滤波之低通/高通/带阻/带通

    [OpenCV 例程200篇]66. 图像滤波之低通/高通/带阻/带通 欢迎关注 『OpenCV 例程200篇』 系列,持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列,持续更新中 ...

最新文章

  1. open AI 在DOTA 5v5 比赛中战胜职业选手
  2. 开源 java CMS - FreeCMS2.7 移动端首页静态化
  3. UWP crop image control
  4. ca证书 linux 导入_Linux CA证书服务器搭建
  5. pSort CodeForces - 28B(并查集)
  6. maven项目 Java compiler level does not match the version of the installed Java project facet
  7. 怎么在InfoPath Web浏览器表单中弹出对话框?
  8. docker阿里云加速器
  9. jspstudy oracle,jspStudy环境下搭建网站
  10. java读取ini文件工具_Java读取ini文件 [org.dtools.javaini]
  11. 人脸特征点定位方法DEST, 基于VS2019+OpenCV3.4.6
  12. mac 苹果系统安装pygame环境插件
  13. 发酵罐设计软件测试,发酵罐设计的心得体会
  14. 用光盘怎样重装电脑系统
  15. 【深度】大变局!标准化资产的在线理财时代来临
  16. mysql中如何查看表结构
  17. VC6.0 通过ado连接access数据库
  18. DOS程序员手册(七)
  19. 本地项目上传到gitee(码云)
  20. 聚观早报 | 苹果发布新款iPad;罗永浩将开启淘宝直播

热门文章

  1. ie浏览器ip代理怎么设置
  2. Tomcat就是这么简单
  3. Java基础篇3——流程控制
  4. python 字符串操作速度_强者一出,谁与争锋?与Python相比,C+的运行速度究竟有多快?|python|编程语言|字符串|示例|算法...
  5. linux密文解密工具,Linux之加密解密工具openssl的用法以及自建CA
  6. 01 - java 开始
  7. python+ BeautifulSoup抓取“全国行政区划信息查询平台”的省市区信息
  8. mysql显示表已存在_MySQL数据库与数据表的相关操作
  9. 常量缓存与integer比较_Integer缓存范围到底是多少?
  10. 网站需要数据库服务器吗,网站需要独立的服务器数据库吗