Intel IPP 之 视觉计算概述

视觉计算软件开发基础

1.1 视觉计算概述

众所周知,早期的计算机的发明是科学计算的需要,其使用者主要是从事科学计算的科技工作者。随着计算机软硬件技术的发展,计算机的功能也在进一步扩展,开始从科技的象牙塔走向大众,并已经成功应用于生产(如工业控制、企业生产执行系统MES)、办公(无纸化办公)、生活(网上冲浪、购物)以及娱乐(数字电影、游戏)等各个方面。普适计算(Ubiquitous Computing)是二十一世纪的计算模式,计算将变得无处不在。

在计算机接近、走向大众的过程中,计算机对图形图像、音视频的捕捉(Capture)、设计(Design)、存储(Storage)、处理(Process)、传输(Transfer)等关键的视觉计算技术功不可没。

视觉计算(Visual Computng)技术的研究和应用对象并不是很清晰、严格,因此视觉计算技术在不同的上下文中可能会涉及多个领域,如数据可视化(Data Visualization)、计算机图形学(Computer Graphics)、数字图像处理(Image Processing)、多媒体技术(MultiMeida)、计算机视觉(Computer Vision)等,这些都可以称为视觉计算技术。

随着视觉计算技术的发展,对具备设计和开发视觉计算软件能力的工程师的需求也在进一步扩大。由于视觉计算技术涉及较深的数学等理论知识和计算机编程技术,因此,对程序员的要求也会相对较高,程序员从零起步开发视觉计算软件的难度较大。因此一个具备高性能的、支持多种软件平台(多种操作系统)和硬件平台(同时支持嵌入式开发)的视觉计算软件开发库是从事视觉计算软件开发的必然需求。

英特尔公司在多年的技术积累的基础上,为视觉计算软件开发人员提供了满足上述特性的软件开发库,包括Intel® IPP(Integrated Performance Primitives,集成性能元件)和Intel® Media SDK(Software Development Kit,媒体开发库)。

为了向程序员普及或推广视觉计算软件开发技术,降低视觉计算软件开发的门槛,我们这本书将介绍图像和视频处理的基础理论知识和英特尔公司提供的视觉计算软件开发库相结合,注重理论联系实际,强调实践。文字、图例、实验、程序代码互为补充,向大家介绍图像和视频处理开发中的技术及应用。

本书的前修课程是C、C++程序设计语言,要求读者有一定的计算机编程基础和实践经验,能较为快速阅读C/C++语言程序代码,并且C/C++程序编程比较熟练,对面向对象技术最好要有一定了解,没有信号处理的基础知识也可以阅读。



1.1.1 图像

数字图像 图像是人类接触世界、获取信息的重要途径。用图像来表达信息直观、形象、丰富,因此,才有“一图胜千言”(A Picture Paints a Thousand Words),“百闻不如一见”(One picture is worth more than ten thousand words)等俗语说法。

图像在传达信息方面有其它媒介(文字、声音等)无法替代的优越性,因此,在现代网络信息时代下,计算机能够表示、处理图像是必然的需求。纵观各类网站,其内容都是图文并茂,栩栩如生。我们将计算机能够显示、存储、处理的图像称为数字图像。

同时,在信息时代,计算机能够处理的图像将不仅仅限于人类肉眼局限的可见光(人类肉眼感知的图像仅限于比较小的一段电磁波谱),数字图像可以通过各种成像途径获取,这些途径可以覆盖几乎整个电磁波谱。如图所示为用微波获取的金星图像。

(a)金星图片     (b)某一块区域放大后效果     (c)该区域图像灰度值

图1.1 微波反射形成的金星图像

图:对金星通过微波反射形成的灰度图像,中图为左图一块10像素见方区域的灰度图,右图为中图的图像灰度值(值的范围为0~255,有256个灰度等级),灰度的值的大小与微波反射能量的级别相对应。

数字图像处理 数字图像处理作为一门学科大约形成于20世纪60年代初期。早期的图像处理的目的是改善图像的质量,它以人为对象,以改善人的视觉效果为目的。但是数字图像处理不仅可以对人类肉眼可观察的图像进行加工处理,还可以对包括超声波、电子显微镜等成像机器产生的图像进行处理。因此,数字图像处理设计的领域将非常广泛,如70年代生物医学中的CT技术(如图所示),对人类做出了划时代的贡献,数字图像还在航空航天(如图1.3所示)、生物医学工程、工业检测、机器人视觉等领域有着非常多的应用,使图像处理成为一门引人注目、前景远大的新型学科 。

图1.2 医学CT成像 图1.3 嫦娥一号卫星传回的月面图片

图1.2:CT成像,这幅图是一个人体肚脐部位的腹部成像的切片。图中可以看到很多器官,如(L)肝脏、(K)肾脏、(A)主动脉、(S)脊柱、(C)膀胱(盖住了右侧的肾脏)。CT成像能够比传统的医学X射线对人体内部组织有更好的可视效果。

图像处理中,常用的图像处理方法有图像变换、图像编码和压缩、图像增强、图像分割、图像分类(识别)等。我们做一下简要介绍。

图像增强 图像增强的目的是为了提高图像的质量,如去除噪声,提高图像的清晰度等。图像增强突出图像中所感兴趣的部分。如怎样处理可使图像中物体轮廓清晰,细节明显;怎样进行处理可减少图像中噪声的影响。如图1.4所示,在经过图像增强处理后,(b)图从整体上感觉更清晰。

(a)原图 (b)图像增强处理后效果图
图1.4 图像增强处理效果图

图像变换 由于图像阵列很大,直接在空间域中进行处理,涉及计算量很大(由于数据存在着空间冗余信息)。因此,往往采用各种图像变换的方法,如傅立叶变换、沃尔什变换、离散余弦变换等间接处理技术,将空间域的处理转换为变换域处理,不仅可减少计算量,而且可获得更有效的处理(如傅立叶变换可在频域中进行数字滤波处理)。目前新兴研究的小波变换在时域和频域中都具有良好的局部化特性,它在图像处理中也有着广泛而有效的应用。

图像编码和压缩 图像编码压缩技术可减少描述图像的数据量(即比特数),以便节省图像传输、处理的时间和减少所占用的存储器容量。压缩可以在不失真的前提下获得,也可以在允许失真的条件下进行(在允许失真的情况下压缩比率通常会更高)。编码是压缩技术中最重要的方法,它在图像处理技术中是发展最早且比较成熟的技术。

图像分割 图像分割是数字图像处理中的关键技术之一。图像分割是将图像中有意义的特征部分提取出来,其有意义的特征有图像中的边缘、区域等,这是进一步进行图像识别、分析和理解的基础,也是计算机视觉中常用到图像处理方法。虽然目前已研究出不少边缘提取、区域分割的方法,但还没有一种普遍适用于各种图像的有效方法。因此,对图像分割的研究还在不断深入之中,是目前图像处理中研究的热点之一。

图像分类(识别) 图像分类(识别)属于模式识别的范畴,其主要内容是图像经过某些预处理(增强、复原、压缩)后,进行图像分割和特征提取,从而进行判决分类。图像分类常采用经典的模式识别方法,有统计模式分类等。

在本书的数字图像处理部分,我们重点强调图像的增强、图像变换、压缩编码部分。



1.1.2 视频

视频 当电影胶片以每秒24格画面匀速转动,一系列静态画面就会因“视觉暂留”作用而造成一种连续的视觉印象,产生逼真的动感,电影就是基于人的视觉暂留作用原理制作成的,视频的基本原理也是一样的,拿电视来说,虽然有两个不同的标准PAL(25帧,我国和东南亚及欧洲等地方使用的制式)和NTSC(30帧,美国、日本等国的制式),其帧率都是大于24帧。因此,我们将这种一个个静态的图像经过快速的播放而形成动态、连续的画面叫做视频。视频是人们最熟悉的名词之一,我们生活当中电视机、录像机等都有视频输出接口。

数字视频 电影、电视(传统模拟电视机)和录像已经属于传统的试听媒体,其视频信号属于模拟信号,随着现代科技的发展,已经出现了数字电视技术,与原来的模拟电视相比,数字电视有高清晰的电视画面,可与DVD相媲美;有优质的音响效果,由于采用了数字技术,使得数字电视的伴音更趋逼真;有抗干扰功能,数字电视受其它电器的干扰很小,因此画面稳定;扩展功能多,可增加上网、点播等。数字视频的编辑通常是通过非线性编辑(NLE for non-linear editing)系统进行的。几乎你看到的所有的电视节目、某些电影、广告都是用非线性编辑系统制作的,由于计算机网络和多媒体技术的发展,在个人计算机上也可以进行数字视频的编辑,越来越多的人利用计算机制作自己的小电影。同时,在因特网上的流式视频和点对点视频传输也都是新近的热点,土豆*、YouTube*等是关于数字视频的互联网网站,用户可以上载分享自己的视频,也能看到别人分享的视频。数字视频(Digital video)信息技术已经成为我们生活中不可或缺的组成部分,已经渗透到工作、学习、娱乐的各个方面。

有很多不同的数字视频编码方法和文件容器格式,支持不同大小、质量、分辨率、色度精度和编码功能的图像编码。在本书的第七章,我们将详细介绍这些编码原理知识和相关标准。



1.1.3 音频

和视频一样,音频也分为模拟音频和数字音频。其实任何我们可以听见的声音经过音频线或话筒的传输都是一系列的模拟信号。模拟信号是我们可以听见的。而数字信号就是用一堆数字记号(其实只有二进制的1和0)来记录声音,而不是用物理手段来保存信号(用普通磁带录音就是一种物理方式)。我们实际上听不到数字信号。

音频是个专业术语,人类能够听到的所有声音都称之为音频,它可能包括噪音等。声音被录制下来以后,无论是说话声、歌声、乐器都可以通过数字音乐软件处理,或是把它制作成CD,这时候所有的声音没有改变,因为CD本来就是音频文件的一种类型。而音频只是储存在计算机里的声音。如果有计算机再加上相应的音频卡--就是我们经常说的声卡,我们可以把所有的声音录制下来,声音的声学特性如音的高低等都可以用计算机硬盘文件的方式储存下来。反过来,我们也可以把储存下来的音频文件用一定的音频程序播放,还原以前录下的声音。

模拟时代的录音制作与数码时代的区别:模拟时代是把原始信号以物理方式录制到磁带上(当然在录音棚里完成了),然后加工、剪接、修改,最后录制到磁带、LP等广大听众可以欣赏的载体上。这一系列过程全是模拟的,每一步都会损失一些信号,到了听众手里自然是差了好远,更不用说什么HI-FI(高保真)了。数码时代是第一步就把原始信号录成数码音频资料,然后用硬件设备或各种软件进行加工处理,这个过程与模拟方法相比有无比的优越性,因为它几乎不会有任何损耗。对于机器来说这个过程只是处理一下数字而已,当然丢码的可能性也有,但只要操作合理就不会发生。最后把这堆数字信号传输给数字记录设备如CD等,损耗自然小很多了!

在计算机内播放或是处理音频文件,也就是要对声音文件进行数、模转换,这个过程同样由采样和量化构成,人耳所能听到的声音,最低的频率是从20Hz起一直到最高频率20KHZ,20KHz以上人耳是听不到的,因此音频的最大带宽是20KHZ,音频有很多中格式,CD格式(接近无损),wav、MP3等。

在本书中我们不对音频的相关技术进行详细阐述。



1.1.4 游戏

自从人类诞生的时候就有游戏,自古至今人类发明的游戏不计其数,比如各式各样的棋牌类游戏、体育竞技游戏、甚至古罗马的竞技场上残忍的搏斗,在有些人的眼里,也是一种轻松的游戏。

在信息时代,传统的游戏得到了延伸和扩展。电脑游戏现在已经非常非常流行,在行业者的眼里已经是一个巨大的产业。电脑游戏是指在电子计算机上运行的游戏软件,是一种本身提供娱乐功能的电脑软件。电脑游戏产业与电脑硬件(视频显示卡等)、电影、电脑软件、互联网的发展联系甚密。电脑游戏为游戏参与者提供了一个虚拟的空间,从一定程度上让人可以摆脱现实世界,在另一个世界中扮演真实世界中扮演不了的角色(如CS、星际等)。同时电脑多媒体技术的发展,使游戏给了人们很多体验和享受。

电脑游戏的发展离不开计算机软硬件的发展,特别是游戏软件开发,涉及到游戏创意、网络、音视频、嵌入式软件(如手机游戏等)、人机交互、人工智能等各个领域,是和视觉计算分不开的。也是一项非常具有挑战性的工作。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Intel IPP(Integrated Performance Primitives)库是Intel提供的一套用于优化计算密集型应用程序的软件库。它包含了丰富的函数集,用于实现图像、信号处理、数据压缩、加密等任务的高性能算法。 Intel IPP库手册函数概述主要介绍了库中包含的各个函数的功能和用法。手册中的函数可以分为以下几个分类: 1. 图像处理函数:包括图像的加载、保存、转换、缩放、旋转、滤波等操作。这些函数可以帮助开发者快速实现图像处理的各种需求,并且能够在多核处理器上发挥出更好的性能。 2. 信号处理函数:用于数字信号的处理和分析。例如,可以通过这些函数来实现滤波、傅里叶变换、互相关等操作。这些函数能够在计算密集型的信号处理应用中提供高性能和精确的计算。 3. 数据压缩函数:用于数据的压缩和解压缩。包括了常见的压缩算法,如LZ77、LZSS、Huffman编码等。这些函数能够帮助开发者实现高效的数据压缩和解压缩操作。 4. 加密函数:用于数据的加密和解密。包括了对称加密算法、非对称加密算法、数字签名等函数。这些函数可以提供数据的机密性和完整性,保证数据的安全性。 此外,Intel IPP库手册还提供了有关内存管理、并行计算、性能优化等方面的指导,帮助开发者充分利用库中的函数,实现高效、可扩展的应用程序。 综上所述,Intel IPP库手册函数概述提供了丰富的函数集,用于图像处理、信号处理、数据压缩、加密等任务。开发者可以通过阅读手册,了解库中函数的用法和功能,从而快速实现高性能的计算密集型应用程序。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值