摄像机按图像扫描方式可分为隔行扫描像机和逐行扫描像机,常用的是隔行扫描像机。隔行扫描像机拍摄的每帧图像分为顶场和底场,图像中的奇数行为顶场,图像中的偶数行为底场。隔行扫描摄像机在拍摄图像时先拍摄顶场然后拍摄底场,当摄像机以每秒25帧的速率拍摄图像时,顶场和底场之间的拍摄时间差为20毫秒,这20毫秒的时间差使运动物体在顶场和底场中有了位置差异。监视器等隔行显示设备是按场播放图像,因此不会有问题,但电脑等逐行显示设备是按帧显示图像的,此时图像中的运动物体会有锯齿效果产生,如图一所示。总之,这类现象是由于使用逐行显示设备显示隔行拍摄图像造成的。

为了使隔行扫描的图像能够在逐行显示的设备上正常播放,必须先对图像进行处理,也就是反隔行处理。反隔行算法有很多种,根据算法的复杂度可以分为三类,第一类算法不带运动检测功能,主要是利用一些插值或者中值滤波的方式实现,这类算法现在主要被一些低端的显卡或者图像卡采用,例如可以利用顶场和底场之间的均值来生成一帧图像,其处理效果见图二,该算法在运动区域会形成模糊。总之这类算法都有一些缺陷例如运动区域模糊,或者降低图像分辨率等等。 第二类算法统称为运动自适应算法,这类算法根据前后帧图像差值估算图像中的运动区域,并针对静止区域和运动区域采用不同的算子进行处理,例如在静止区域直接用顶场和底场合成图像,在运动区域只用一场插值生成图像,处理效果见图三,这类算法有较好的处理效果,现在是高端显卡所采用的主流算法。第三类算法统称为运动补偿算法,该类算法根据前后帧图像估算运动区域的位移矢量,并将运动物体在底场中的图像拉回t时间以前的位置。这类算法具有最好的处理效果,但是这类算法非常复杂,一般只有顶级的图像卡才使用这类算法。( )转( )

转.................................................................

交错扫瞄(隔行扫瞄, Interlaced), 就是一个画面分成两次送出, 先送奇数线的画面后, 再送偶数线,显示时再将它们合成完整画面. 非交错扫瞄(逐行扫瞄, Porgressive), 就是每次都送完整的画面, 不需要奇偶画面重新组合.所以在非交错式显示的萤幕上观看时, 交错画面要把它重组回来, 这个动作叫做 "去交错" (Deinterlaced)

直接来看看, 到底它们是什么.
下图是隔行扫瞄 (Interlaced) 的图, 影片镜头是由右而左缓慢移动的为每个选手做特写.

我们可以发现在上图中, 选手的衣服边缘处有细纹产生, 穿着2号球衣的这个 "2" 字样也可以看出明显的细纹,而且在衣服上胸口处的菱形黑色斜边线条有锯齿纹状.

为了怕大家看不清楚, 做了局部放大, 整理如下图, 让大家可以看的更清楚.

注意上图中, 左方放大的图 (红色箭头所指的红色框框处), 选手的衣领和脸部边缘处都有细纹出现. 这就是在动态画面下使用 "交错"(Interlaced) 方式显示会产生的问题. 所以有所谓 "去交错" (Deinterlaced),目的在尽量将这种现象降低.

下图是开启 "去交错" (Deinterlaced) 后的状况.

在上图中, 我们可以发现, 先前的细纹不见了, 但画面变的模糊了一点点, 这是因为做 "去交错" 的关系,做了一些调整所造成的结果.

接着我们来看看, 假设收到的影像已经是使用 "非交错" (逐行扫瞄, Progressive), 表现又如何呢? 贴一张 "非交错"的图如下, 让大家做一个比较.

不知道大家看出差异了没有, 在 "非交错" 讯号中, 即然是非交错, 当然没有去交错问题, 省了一次处理的麻烦和画质的失真.所以上图中没有锯齿和细纹等等现象.

为了更清楚解释, 我将三个放大图摆在一起, 请参考下图.

由左而右分别是 "交错扫瞄" (左边), "交错扫瞄+去交错处理" (中间), "非交错扫瞄" (右边). 请注意每个图的左下角,在衣服上的菱形黑色图案, 左边和中间的图都有锯齿状, 而右边的 "非交错扫瞄" 没有这个状况.再来是中间图的菱形图黑色表现没有旁边两个来的黑. 也就是说做 "去交错" 处理 (中间的图) 会比没有做 "去交错"的表现来的糊一点点. 所以 "去交错" 做的好不好也很重要.

以上是比较静态的, 接着来就找个动作大一点, 夸张一点的图, 会看的更清楚一些.下图是一台车快速的转弯移动中.

由上图中, 我们可以看到很明显的横线, 状似抽丝, 已经不是细纹可以形容, 大家应该都可以清楚的看见了吧, 这个例子是十分夸张的图,为了说明方便特别贴出来.

接下来就是 "去交错" (Deinterlaced) 后的状况, 如下图.

我们可以发现, 横条细纹在 "去交错" 后不见了, 但是仍有拖影的现象, 在这么大动作的画面中, 这是无法避免的, 就算是用"非交错" (逐行扫瞄) 方式也会有拖影现象, 只是程度上的差别而已.

接着下面几张图, 再来比较一下, 让各位更清楚. 也是一台跑车在过弯时的图, 这次一口气比 "交错", "交错+去交错", "非交错"三种, 每张图为了容易看到差异, 都有贴上一张局部放大的图.


再补上一张 "非交错" 的原图, 让大家自行比对前几张的差异.

照样在最后将三者排开, 比对差异.

最左边是 "交错", 所以会看到线条, 中间是 "交错+去交错处理", 虽然线条不见了, 但有点拖影现象, 而最右边是"非交错"

除了图像会有交错现象外, 还有颜色交错 (color interlaced) 与亮度交错(brightnessinterlaced)
参考资料 : http://zh.wikipedia.org/wiki/去交錯

转载于:https://www.cnblogs.com/8335IT/p/9050133.html

播放图像有锯齿_反隔行操作相关推荐

  1. 西门子mr图像后处理手册_西门子MRI操作手册手工版.doc

    西门子MRI操作手册手工版 命名规则-序列类型 序列类型的后缀比较简单,就是"R(快速恢复)"."B(刀锋技术)"和"_r*(流动补偿系列)" ...

  2. 西门子mr图像后处理手册_西门子MRI操作手册手工版

    命名规则 - 序列类型 序列类型的后缀比较简单,就是 "R (快速恢复) " . "B (刀锋技术) " 和 "_r* (流动补偿系列) " ...

  3. 图像标注技巧_保护互联网上图像的一个简单技巧

    图像标注技巧 补习 (TUTORIAL) Have you ever worried about sharing your images on the Internet? Anytime you up ...

  4. 图像腌膜Mask的常规操作你真的信手拈来吗?

    点击上方↑↑↑"视学算法"关注我 来源:公众号 行走的机械人 授权 我对图像腌膜的含义一直有些模糊,今天写了几行代码,证明了我这模糊的印象倒是正确的.今天借一个给图片添加水印的小例 ...

  5. python对输入的字符串进行解析_python数据类型_字符串常用操作(详解)

    这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 ...

  6. 图像浏览界面缩放和平移操作的实现

    前言:在开发程序时,可能需要将一张照片或影像显示在程序内部界面上.一般来说,界面的大小是固定的,不超过屏幕大小,但是我们需要显示的照片往往有不同的分辨率,并且一张照片的像素动不动就上千万,即使1920 ...

  7. python加密字符串小写字母循环后错两位_python数据类型_字符串常用操作(详解)

    这次主要介绍字符串常用操作方法及例子 1.python字符串 在python中声明一个字符串,通常有三种方法:在它的两边加上单引号.双引号或者三引号,如下: name = 'hello' name1 ...

  8. 2020年上海市高等学校信息技术水平考试试卷_三级_数据科学技术及应用_模拟卷_四、操作题_答案

    2020年上海市高等学校信息技术水平考试试卷_三级_数据科学技术及应用_模拟卷_四.操作题_答案 (本试卷考试时间 150 分钟) 答案是自己做的,经验证,可成功运行. 内容仅供学习交流,不可转载. ...

  9. Ex1:图像读取和显示以及像素操作

    Ex1:图像读取和显示以及像素操作 github地址:https://github.com/linjiafengyang/ComputerVision 1. 读取1.bmp文件,并用CImg.disp ...

最新文章

  1. LInux初始学习篇:基本命令使用
  2. action 和servlet关系
  3. matlab 在图片上绘制热力图_python可视化之seaborn——热力图
  4. 在DbGridEh中显示主从表
  5. python编写程序-在线python编程
  6. Kotlin by属性委托
  7. 【小记】-005--纯CSS实现的小玩意儿
  8. 信息学奥赛一本通 1195:判断整除 | OpenJudge 2.6 3531:判断整除
  9. 动态卷积:自适应调整卷积参数,显著提升模型表达能力 CVPR 2020
  10. 88.搭建git服务器 安装与使用gitlab gitlab备份与恢复
  11. SOA的十大技术理论体系
  12. 产品经理做产品设计的九步法
  13. AD中批量导入域用户的命令
  14. paip.函数式编程方法概述以及总结
  15. [java编程题]打印指定年指定月份的日历
  16. 微信小程序 关于头像上传,showActionSheet,chooseImage,uploadFile
  17. Oracle BI产品线
  18. 美团、饿了么“喜极而泣”,搞定了!外卖骑手终于可以愉快的送餐了
  19. 和平精英有了氪金系统,玩家再也不敢开挂了?网友:你到亚服看看
  20. Windows11电脑丢失了数据该怎么恢复?

热门文章

  1. 单点效率测试工具:F8秒表
  2. matlab学习记录之基本操作整理
  3. C++类里面的哪些成员函数是内联函数?
  4. 图像多尺度对比增强算法
  5. 编程艺术 二进制中1的个数
  6. This function or variable may be unsafe
  7. 【数据展示】matplotlib子图设置子标题(subtitle for subplot)
  8. 多线程生成随机数组+多线程快速排序(C++实现)
  9. 感知机模型[神经网络入门]
  10. echarts - geo 绘制无数据区域的区域