图像处理大型科普---上下采样
2015-11-06 22:43
399 查看
图像处理大型科普—上下采样
哪里来的“上采样”和“下采样”?采样做为专业术语,最早被用于通信的信号处理中,在某度百科中定义如下:
”所谓采样就是采集模拟信号的样本。 采样是将时间上、幅值上都连续的信号,在采样脉冲的作用下,转换成时间、幅值上离散的信号。所以采样又称为波形的离散化过程。”
是的,当我完整的读了一遍以后,似乎懂了那么一点点,大概是在说,从自然界的模拟信号中,有规律的抽取一些标志性的点,来组成可以用数字表示的数字信号,简单一点我们可以用下面这张图来理解采样这个过程在信号处理领域的应用。
(一图遮百丑系列)
上图的这个过程就被叫做“采样”,并且通常情况下,“采样”就是说的“上采样”,至于“下采样”,则是这个过程的逆过程——————如何把数字信号转换成更符合自然界的模拟信号,就以这张美美的示例图来描述,下采样就是在绿色的线中插入若干个点,然后组成一个坐标更加密集的绿线,使得这根绿线更加像上面的信号波形图。
如果你明白了上面的这个问题,稍稍动用我们的想象能力,下面的关键问题就变得非常容易理解了
图像中的上下采样是什么?
如果说采样在信号学中是用一个数组来保存一条曲线的波动情况,那么对于图像来说,就是把这个过程从一维带到二维。其实这么说也有点牵强和抽象了,
因为我们需要处理的图像矩阵本身就是一种数字信号,所以这个采样的过程就变成了x轴每过一段距离取一个点的值,y轴每过一段距离也取一个点的值,最后保留下剩下的点,于是乎,这就是图像中的“上采样”过程了。
回过头来想想,不就是二维的信号采样么?
于是我们再举一个例子,一副800*800的图像,我们以x=5,y=5为间距,做上采样,很快能计算出来采集后的样本大小160*160。对于数字很敏感的人一定能想到,这个过程不就是图像的缩小么?
没错!就是缩小,所以就会有一个新的问题———————为什么要取个这么哗众取宠的名字来掩盖缩小图像这个简单实质?
真的只是缩小这么简单么?当然不是,可以说,图像的采样是一种特殊的缩小,在matlab中定义的上采样函数up_sample()的操作如下:删除所有单数的点,
对应的down_sample()的操作也类似于此:在每个单数的点后面添加一个值为0的点,
于是乎就有了如下的应用场景:
导入图像矩阵I
rgb2gray(I) 二值化图像
使用上采样采集单数点集合A
使用上采样采集复数点集合B
下采样填充集合A
下采样填充集合B
获取集合C=(A-B)
imshow(C)画出C
于是乎就得到了新的结果,很高兴的是 ,这个结果就是这个图像大部分的高频分量,至少,这个结果是获取图像边缘的最简单的方式
相信至此,对于”上下采样”以及各种花式采样的名词意思,应该有了一个更加清晰的了解。
相关文章推荐
- 例题4-1 UVa1339 Ancient Cipher
- 2015-11-6
- Python之L.pop()和del L[i]
- LightOJ - 1082 Array Queries(RMQ)
- join解析和遍历
- cocos2d-x设计模式发掘之六:观察者模式
- mac3.0环境搭建
- 2、oracle专家编程---SQLPLUS设置
- 爬爬爬之路:OC语言(九) 内存管理(初级)
- Android 从java字节码告诉你 为什么Handler会造成内存泄露
- Android Studio导入第三方类库的方法
- Verilog之function使用说明
- 设计模式-简单工厂(1,简单继承,用来比较与工厂模式的区别)
- Spring测试框架JUnit4.4
- LightOJ - 1301 Monitoring Processes(树状数组)
- NOIP2015集训总结
- iOS开发中的IBAction中的IB是什么意思
- 《大道至简》第六章读后感
- Tyvj-超级书架
- 今天是我第一次写技术博客!