目录

边界问题

解决边界方法

裁剪

环绕

复制边缘

反射

Matlab实战


边界问题

进行过滤时出现的一件事是如何处理边界,因为您可能会问当过滤器脱离边缘时会发生什么。

当您的过滤器掉落边缘时会发生什么?

所以你必须考虑你想要的大小操作,这样就可以这样说明。

在这里,我们将使用一些旧的MatLab命名法,他们已经改变了它,因为旧的MatLab命名法实际上已经清楚了。如图:

这里我有一个函数f,我用g过滤它。

你可能会试着好好考虑一下,我想要的尺寸输出是多少。

并且有三种不同的可能尺寸。

一个是当g刚触及那个角落时,我开始得到反馈。

因此,如果我将g的中心点视为参考,我实际上会得到一个比原始函数更大的盒子。

另一方面,如果我想确保所有g实际上都是触摸f,那么我将再次使用中心点,最后我的输出比原来的要小。如图

而且,这被称为有效,因为所有这些点实际上都是正确的。

但问题是当我过滤55*55的图像时,我真的想要回55*55。

我不想回到58*58或52*52。

我想要的是同样的。如图:

所以在这里你看到我们把那个过滤器的中间放在角落里,然后我们回到相同的大小。

那么问题当然,是在这些像素下面突然出现了什么?

基本上当你进行过滤时,你必须告诉系统你想要什么。

解决边缘方法

MATLAB有几种方法可以考虑如何做到这一点。

我们将再次使用旧的MATLAB命名法,然后我将告诉你有关新的命名法。

所以有几种不同的方法。

裁剪

第一种方法叫做clip(裁剪)。看图

Clip基本上意味着:我假设外边界是黑色的。

然后我应用我的过滤器,所以在这里我可以看到我的过滤器。

当我拿出图像时,你会注意到这个东西在边缘变得很暗。

这是有道理的,因为黑色已经泄露。如图:

但那被称为裁剪。

环绕

另一种方法称为环绕。这是一种奇怪的方法。

它与我们稍后将讨论的一些傅里叶分析(重点知识)有关。

基本上它说我假设我的照片连续并且链接在一起。如图:

这意味着:你看到了边界那里被填写了东西。如图:

这就是图片这一侧的内容。这里更容易看到。

这些,这些红辣椒来自这里。

黄色的稻草来自那边。

这是假设您实际看到的是周期性信号。所以,如果您正在查看周期性信号。

接下来会发生的事情就是它开始时的东西。

那么,在过滤中,在图像过滤中,这不能很好地工作。

在这里,我将应用滤镜,然后我将剪切回原始尺寸的图像。

你会注意到这里有一些红色的东西。如图:

红色的东西来自哪里?

它实际上是从底部来的,因为它缠绕着。如图:

复制边缘

有一种称为复制边缘或复制的方法,你基本上可以扩展出来。原始图:

所以我只是扩展了相同的值。如图:

然后我运行我的过滤器,然后我拿出我的照片,这是合理的。如图:

复制方法是一个简单的方法,它给你一个合理的结果。

它基本上保持图像类型不变。

现在的问题是,统计数据当然是不同的。

因为你有这个漂亮的变化图像,然后你让一切都变得相同。

反射

因此,另一种方法称为反射。好的,有时被称为对称的。

那就是你,你反映出来的形象。原始图像:

在这里,我就是这样做的。如图:

事实上,让我在这里画画。

这是反射边缘。

实际上,如果我擦除它,很难看到那个边缘。

因为我基本上是,我拍摄图像然后再将它折叠起来。

所以,我把它拿出来。我应用我的过滤器。如图:

然后我拿出图像,它实际上做得很好。

所以,通常你要么想做所谓的复制,要么复制边缘或反射整个图像。

在新的MATLAB中,这些使用名为imfilter的函数表示,它来自图像处理工具箱。

你可以输入一个值。将该值放入,所以我们输入0,就像剪切一样。如图:

你可以用圆形环绕,然后复制边缘是复制的,反射是对称的。通常,您将使用复制或对称。如图:

小测验:

处理边界条件的反射方法是,在滤波中由于:

A)创建的图像具有与原始图像相同的统计数据。

B)计算是这些方法中最便宜的。

C)将像素设置为零很快。

D)以上都不是。

答案:C。A是校正的。通过执行该反射创建的图像具有相同的统计信息。B是错误的,这种计算对电脑来说无关要紧的。

Matlab实战

那么哪个是您最喜欢的处理边界问题的选择?

加载图像包,读取图像,创建高斯滤波器。

>> pkg load image;
>>
>> img = imread('fall-leaves.png');
>> imshow(img);
>>
>> filter_size = 21;
>> filter_sigma = 3;
>> filter = fspecial('gaussian', filter_size, filter_sigma);

记住高斯是特别的(指的是函数fspecial)。

现在,当您应用它时,请指定边参数。传入0等于默认值。

>> smoothed = imfilter(img, filter, 0);

运行代码,你可以看到沿着所有边界的黑色渗透。如图:

这是因为我们传入0。如果我们输入其他数字会怎么样?

试试看。输入圆形怎么样?

>> smoothed = imfilter(img, filter, ‘circular’);

运行代码,如图:

如果你仔细观察,你会看到这边的绿色渗透,而另一边则是一点点红色。

试试复制。

>> smoothed = imfilter(img, filter, ‘replicate’);

运行代码,如图:

复制并不算太糟糕。没有明显的影响。

最后尝试对称,或称为跨边界反射。

>> smoothed = imfilter(img, filter, ‘symmetric’);

也不错,实际上与复制没有太大区别。

您可以随意尝试这些不同的选项,过滤器大小和Sigma。


——学会编写自己的代码,才能练出真功夫。

4.线性和卷积——边界问题、解决边界方法和Matlab实战_3相关推荐

  1. 【Java 泛型】使用上下边界通配符解决泛型擦除问题

    文章目录 前言 一.使用上边界通配符示例 二.分析字节码的附加信息 前言 上一篇博客 [Java 泛型]泛型用法 ( 泛型编译期擦除 | 上界通配符 <? extends T> | 下界通 ...

  2. 边界值分析法—解决边界限制问题

    目录 一.解决穷举场景-等价类划分法 二.解决边界限制问题-边界值说明 01定义: 02步骤: 03优化(7点优化5点) 04总结 三.解决多条件有依赖关系测试-判定表 01:介绍 02:步骤 四.对 ...

  3. 戈登贝尔奖获得者张林峰:「AI + Science」的路径思考,突破科学边界、解决困难问题,做一个牧羊少年...

    图片来源:网络 撰文:张林峰,北京深势科技公司创始人及首席科学家,戈登贝尔奖获得者 编辑:贾   伟 这篇文章是我近期一些思考的总结.这些思考离不开近几年来与很多小伙伴日日夜夜的探讨,我深表怀念和感激 ...

  4. 目标、物体识别(检测)object detection 中的 bounding boxes 是什么? 边界区域、边界框、边界盒

    边界区域.边界框.边界盒 参考文章:人脸检测中的bounding box regression详解

  5. 边界外推和边界处理--cv::copyMakeBorder()和cv::borderInterpolate()

    OpenCV 边界外推和边界处理 一.边界外推 在图像处理的时候,我们会面临对边界的处理问题. 在OpenCV中的滤波操作,得到的输出图像与源图像的形状是一样的. 为了实现这种效果,OpenCV采用的 ...

  6. ARCMAP将同一图层多要素合并为一个并消除边界——县行政边界合并为市

    ARCMAP将同一图层多要素合并为一个并消除边界--县行政边界合并为市 打开融合工具 检查属性表增加一个具有相同属性的字段 导出结果

  7. cesium绘制中国边界,设置边界样式

    cesium绘制中国边界,设置边界样式,步骤如下: 步骤一: 从http://datav.aliyun.com/portal/school/atlas/area_selector网站下载geojson ...

  8. 村边界、社区边界、乡镇边界、县区市省边界数据,shp格式

    中国各省.市.县区.边界.乡镇边界.行政村边界.社区边界数据,数据格式shp文件.采用WGS-84坐标系和SHP格式,使数据的使用和集成更加便捷. 有研究需要的可以和我们联系.

  9. phaser3设置重力gravity、检查边界WorldBounds、边界回弹Bounce,碰撞

    phaser3设置重力gravity.检查边界WorldBounds.边界回弹Bounce,碰撞: create: function () {//静态地板组var platforms = this.p ...

最新文章

  1. NHibernate之旅(8):巧用组件之依赖对象
  2. hive快还是mysql快_HBase相对Hive查询速度快的对比
  3. jquery生成二维码
  4. 引导类加载器 Bootstrap ClassLoader
  5. 【转】人工智能教程-前言
  6. 破除“论文至上”!两部委发文规范SCI指标使用
  7. 线程中如何使用对象_在 Flink 算子中使用多线程如何保证不丢数据?
  8. 58 到家数据库 30 条军规解读
  9. 《Hadoop MapReduce实战手册》一1.10 使用MapReduce监控UI
  10. Python拟合SHARP红外测距传感器相关数据
  11. [渝粤教育] 南京森林警察学院 森林植物识别技术 ——珍稀植物识别 参考 资料
  12. 单元格内多个姓名拆分成一列_excel一个单元格中有多个名字,怎样拆分这些名字,名字是用空格分开的《excel批量分列》...
  13. wei10-笔记本突然没有声音了!解决方法
  14. MP4文件格式的相关内容
  15. ZUCC_BB平台-Quiz
  16. 桌面虚拟化项目的前期规划和测算
  17. python 机器人运动仿真_基于ros平台的移动机器人的设计与运动仿真-创新创业训练计划.pdf...
  18. 美版有锁iphone 如何上电信3G
  19. 代理模式 静态代理、JDK动态代理、Cglib动态代理
  20. python 英文语义分析_spinrewriter英文伪原创工具,Python对接API示例

热门文章

  1. 人人学IoT 助学思维导图
  2. oracle存储tar,Linux环境使用TAR命令快速部署安装Oracle
  3. Spark之RDD理论篇
  4. PyCharm双击或默认情况下是插入的输入状态解决方法
  5. 深度学习经典算法 | 遗传算法详解
  6. html做3d游戏进微波,射频微波电路设计.html(350页)-原创力文档
  7. php编写一个投票程序,实例学习PHP之投票程序篇(一)
  8. 列标题 如何删除gridcontrol_GridControl简单属性操作
  9. windows中安装64位MySQL及连接MySQL和重置MySQL密码
  10. 增加一行减少一行_【第2171期】一行 CSS 代码的魅力