IPP库使用方法
- 格式:doc
- 大小:26.00 KB
- 文档页数:2
IPP新手入门Intel IPP简介百度百科上是如此介绍的:IPP“Intel Integrated Performance Primitives” (Intel IPP )是一套跨平台的软件函数库,他提供了普遍的多媒体功能:音频解码器(例如:H263 、MPEG-4 )、图像处置(JPEG) 、、语音紧缩(例如:G723 、GSM 、AMR )和加密机制。
字面上的意思确实是集成性能基元,IPP的Chief Architect李信弘(Shinn-Horng LEE)说明了Intel开发IPP的缘故:开发IPP的目的是为了发挥CPU的性能。
销售IPP目的之一是了解哪些单位在用IPP,目的之二是用销售所得提供客户支持。
第二,IPP不光能对Intel 的CPU进行提速,在非Intel的CPU上照样能够发挥提速功能。
可是固然IPP在Intel CPU 上发挥的能力要比AMD的CPU上强。
Intel IPP的安装与配置利用IPP的安装说明:按目标CPU型号,IPP库分为以下几种类型(参考ReleaseNotes.htm):IA-32:32位处置器包括Intel® Core™2 Duo、Pentium® 4、Xeon®、Celeron®等,这是咱们经常使用的CPU类型;Intel® 64:基于IA-32、带有64位扩展的CPU,操作系统为64位;Intel Itanium®:Intel Itanium® 2 处置器且操作系统为64位;Intel® IXP4XX Network Processors:包括某些用于嵌入式系统的CPU;本文档采纳的安装包安装,安装的为w_ipp_ia32_p_6.1.2.041。
安装步骤如下:双击next选择安装途径,安装完毕即可安装完毕以后,运行ippiDemo.exe(或ippsDemo.exe从C:\ Program Files\Intel\ IPP\ 6.1.x.xxx \ia32 \Demo)。
图像分析入门图像分析就是通过分析图片的方法来测量图片上测量对象的测量数值.举例来说吧,如果需要测量一个足球的直径,就可以使用一根皮尺,绕着足球最大周长量一下,得到最大周长的值,直径就是周长除以园周率.或者用一个大卡尺直接去量足球的直径.这,叫作测量.还有一个方法,在足球边上放一根直尺,然后用数码相机拍摄下足球与其旁边的直尺的照片,然后在图像分析软件上先测量照片上足球图像的直径,再与直尺图像进行比较,最后得到足球的实际直径尺寸数值.这,叫作图像分析.图像分析是一种间接的测量方法,在许多情况下,无法进行实际的测量时,使用图像分析的方法能有效地完成准确的测量.采用图像分析的方法进行测量分析时,一般是下列这个过程:1.明确需要测量分析的对象.2.使用适当的方法拍摄下这个对象.3.分析照片上的图像元素,确定能反映测量对象的图像图形.4.测量照片上的图形的测量参数,进而得到测量对象的测量数据.5.对测量对象进行统计分析.明确图像分析的测量过程对我们理解应用图像分析方法进行测量分析是非常重要的.这有助于我们正确地设计图像分析过程.以前面测量足球直径的图像分析方法为例:1.测量足球的直径.2.直接拍摄足球的照片,照片上要把足球的图像与背景图像明显区分,把足球放在黑色背景上,避免照明光线在足球上形成阴影.3.足球在照片上表现为一个园形,此园形的直径等于足球的直径.我们可以通过测量照片上这个园形的直径来确定足球的直径.4.测量这个园形的直径.5.通过标尺换算出足球的实际直径尺寸.这个例子实在是太简单了,简单得似乎上面说了一大堆废话,但在复杂的实际测量中,按照这个程序设计测量方案确是非常有效的方法.记着这五条,让我们开始玩图像分析吧.Imagepro plus --图像分析软件分析图像当然要使用一种工具,图像分析软件就是用来分析测量图像的.有很多种,Imagepro plus只是其中的一种,我自己认为这是图像分析软件中最好,最专业的.而且使用起来也比其他软件更方便.功能更强大.唯一的困难是,软件很贵,$5000.一般都是单位买显微镜的时候附带着买的. 其他比较常用的图像分析软件有Image J, seion image,还有许多专用的图像分析软件,如专门分析凝胶的软件等等,其功能很专一,应用于某一个项目上.提到图像相关的软件,很容易想到photoshop,请注意,这不是图像分析软件,而是图像编辑制作软件,在分析图像的时候,是不能使用photoshop 对图像进行处理的.这等于篡改原始数据.是绝对不允许的.下面就让我们进入Imagepro plus程序.安装程序及基本的简单操作就不说了,从打开程序开始吧.刚进入程序时出现的这个对话框似乎用不上,但里面却有很多好玩的东西.简单地说吧,就是给你演示IPP分析图片的过程.有空的时候可以看看.当然干正事的时候还是先点那个红叉先把它关了吧.如果不想让它老是跳出来烦人,就把下面那个"show on startup"前面的勾给去掉.然后我们就可以打开一个图片作测量了.Imagepro plus操作1简单的测量操作过程在学习各种复杂的测量方法之前,让我们先看看一个简单的测量例子,这样能对使用IPP能有一个整体的印象。
IPP软件使用指导(1)
图像测量功能
1. 对象计数和测量
· 每帧计算100,000个对象(取决于内存)
· 自动计数和测量对象
· 面积,周长,长度,圆度,椭圆长短轴,中心点,目标中小孔数,目标集聚密度等50多个参数的测量
· 设置测量结果的有效范围以过滤不需要的物体
· 基于测量结果对被测目标自动分类
· 多种方式分离重叠或成簇的目标物
· 使用色彩信息分离和测量彩色图像目标物
· 手动选择,计数和分类
· 自动定义阈值分割
测量结果展示
· 转换动态数据(DDE, Direct Data Exchange),将测量结果输出至统计或列表程序
· 以测量德数据、直方图、散点图等显示结果
· 可创建包含图像、测量结果和文本的用户报告
· 建立图像数据库
· 方便打印和发表
· 可创建宏程序。
IPP库使用方法.IPP库使用方法IPP“Intel Integrated Performance Primitives”(Intel IPP )是一套跨平台的软件函数库,他提供了广泛的多媒体功能:音频解码器(例如:H263 、MPEG-4 )、图像处理(JPEG) 、信号处理、语音压缩(例如:G723 、GSM 、AMR )和加密机制。
“Intel IPP”包含各种的函数,用于进行向量与图像处理、颜色转换、过滤、分屏、设置域值、变换,以及算术、统计、几何与图形运算。
对于每个函数,“Intel IPP”均支持多种数据类型和分布,同时保持了数据结构的最小化,它提供了丰富的选项供用户在设计与优化应用程序时选用,不必再去编写特定代码。
采用一套跨平台结构的通用API ,使用者除了不需要担心平台兼容性的问题,更节省了开发成本以及研发时间,使用者可以轻轻松松移植原有应用程序。
IPP是个好东西,里面的函数精而全,希望大家好好利用。
因为IPP目前很少中文资料,我们只能靠自己摸索。
下面就简单说说IPP在VC2005下的基本使用方法。
假定你的IPP是安装在“D:IntelIPP”目录下。
首先是配置VC2005的环境。
打开VC2005后,点击菜单栏的“工具--选项”,在左侧找到“项目和解决方案--VC++目录”,在“可执行文件”的目录中添加“D:IntelIPPbin”,在“包含文件”的目录中添加“D:IntelIPPinclude”,在“库文件”中添加“D:IntelIPPstublib”和“D:IntelIPPlib”,确定即可。
然后就是具体的在项目中使用IPP了。
我们这次的项目主要是使用IPP的图像处理函数,这些函数的具体说明可以在“D:IntelIPPdocippiman.pdf”这个文件中找到。
函数的命名其实也是很有规律的,例如图像拷贝的函数,也就是手册里的“4.Image Data Exchange and Initialization Functions”中的Copy这一功能,对于不同的图像,应当使用不同的Copy函数,它的命名是这样的:首先是前缀“ippi”,所有图像处理的函数都以“ippi”开头;然后是功能名称“Copy”,连起来就是“ippiCopy”;之后连一个下划线和对应的模式“ippiCopy_”,那个“”替换成对应的颜色模式,例如“8u_C1R”,其中的“C1R”表示图像只有一个颜色通道,而“8u”表示每个象素的颜色的数据类型都是8位无符号数,也就是说这种图像是一个字节表示一个像素的。
IPP使用教程范文IPP(Internet Printing Protocol)是一种用于在 Internet 上打印文档的网络协议。
它允许用户通过网络向打印机发送打印任务,并且可以管理打印任务的队列、监控打印作业的状态以及配置打印机的设置等。
在本文中,我们将为您提供一份简单的 IPP 使用教程。
第一步:设置打印机第二步:确定打印机的IP地址在使用 IPP 打印之前,您需要确定打印机的 IP 地址。
您可以通过打印机的设置菜单或者通过运行 ipconfig 命令(对于 Windows 用户)或 ifconfig 命令(对于 Mac 和 Linux 用户)在计算机上查找打印机的IP 地址。
第三步:安装IPP打印驱动程序在计算机上安装适用于您的操作系统的IPP打印驱动程序。
大多数操作系统都会提供内置的IPP打印驱动程序,您可以通过操作系统的“添加打印机”或“打印机设置”菜单访问。
第四步:添加IPP打印机打开计算机的打印机设置菜单,并选择“添加打印机”选项。
在接下来的屏幕上,选择“添加网络打印机”或“使用IP地址”选项。
然后,输入打印机的IP地址,并点击“下一步”。
您的计算机将尝试连接打印机,并在成功连接后显示可用的打印机选项。
选择您要添加的打印机,并点击“下一步”。
第五步:打印文档一旦您成功添加了IPP打印机,您就可以开始打印文档了。
选择您要打印的文档,并点击“打印”选项。
在打印对话框中,选择您添加的IPP 打印机,并点击“打印”。
您的文档将被发送到打印机,并开始打印。
您可以在打印队列中查看打印任务的状态,并监控打印进程。
其他注意事项:-确保您的计算机和打印机都连接到同一个网络,以便正确地设置和使用IPP打印功能。
-确保打印机的IP地址是正确的,并且能够从您的计算机上访问。
-如果您无法成功连接打印机或无法打印文档,请确保您已正确设置打印机,并尝试重新安装IPP打印驱动程序。
总结:通过本文的简单教程,您可以了解如何设置和使用IPP打印功能。
IPP新手入门Intel IPP简介百度百科上是这样介绍的:IPP“Intel Integrated Performance Primitives” ( Intel IPP )是一套跨平台的软件函数库,他提供了广泛的多媒体功能:音频解码器(例如: H263 、MPEG-4 )、图像处理 (JPEG) 、信号处理、语音压缩(例如: G723 、 GSM 、 AMR )和加密机制。
字面上的意思就是集成性能基元,IPP的Chief Architect李信弘(Shinn-Horng LEE)解释了Intel开发IPP的原因:开发IPP的目的是为了发挥CPU的性能。
销售IPP目的之一是了解哪些单位在用IPP,目的之二是用销售所得提供客户支持。
其次,IPP不光能对Intel的CPU进行提速,在非Intel的CPU上照样可以发挥提速功能。
但是当然IPP在Intel CPU 上发挥的能力要比AMD的CPU上强。
Intel IPP的安装与配置使用IPP的安装说明:按目标CPU型号,IPP库分为以下几种类型(参考ReleaseNotes.htm):IA-32:32位处理器包括Intel® Core™2 Duo、Pentium® 4、Xeon®、Celeron®等,这是我们常用的CPU类型;Intel® 64:基于IA-32、带有64位扩展的CPU,操作系统为64位;Intel Itanium®:Intel Itanium® 2 处理器且操作系统为64位;Intel® IXP4XX Network Processors:包括某些用于嵌入式系统的CPU;本文档采用的安装包安装,安装的为w_ipp_ia32_p_6.1.2.041。
安装步骤如下:双击next选择安装路径,安装完毕即可安装完毕之后,运行ippiDemo.exe(或ippsDemo.exe从C:\ Program Files\Intel\ IPP\ 6.1.x.xxx \ia32 \Demo)。
入门Imageproplus(IPP)的主要用途是分析测量图象。
本人使用该程序进行生物图象分析有一段时间,写此帖的主要目的还是与大家交流使用心得,并总结一下使用方法。
如果你是刚接触IPP,最好先从本帖看起,并同时打开你电脑上的IPP程序照着操作。
学会一个软件需要花一段时间的,两分钟不可能学会。
两小时也太短。
但我相信,照着我这几个帖子作下来,至少是可以用IPP干一点事情了。
打开IPP后的界面是这样的,该从何处下手呢?既然是处理图片,当然是先要打开一张要处理的图片嘛这张照片中的黄色部分是免疫组化染色的阳性表达成分。
处理目标是通过测量图片中黄色部分的"黄"度来反映相应蛋白表达的的“量”。
对该图片进行观察,可以看到图片中主要有三种主要颜色,一是染成蓝色的细胞核,二是呈现出黄色的胞浆,三是细胞间的空隙区域,呈现出浅蓝色,是为背景。
所以首先要把图片中呈现黄色的区域给挑选出来,这部分区域是我们最感兴趣的地方,叫作AOI(area of interest)。
AOI是IPP中最有用最重要的概念。
如何能够准确地选取AOI就是使用IPP的关键操作。
一旦准确地选取了AOI,下面的测量分析就好办了。
对不同的图片,需灵活地使用各种适当的AOI工具,就这张图片来说,AOI是黄色区域,因此用颜色分类的AOI工具是最有效的。
点击measure---count/size,弹出分类测量窗口。
在窗口中选中manual,再点击select color,弹出颜色选择窗口segmentation,这个工具是IPP 最有特色的颜色选取工具之一。
用好这个工具是使用IPP的要点于目标颜色鲜明的图片,用吸管工具是最简单的。
点一下吸管图标,在目标区域点一下,就可以选中该点的颜色,当然一下是不可能完全选中所需要指定的全部区域,可以在未选中的地方接着再点,这样多次选取,直到把想选中的区域全部选中为止。
在这张示例图中,选中的蓝色细胞核部分被标上了红色。
安装硬件1.请检查是否有以下硬件:A.IPP系列安装光盘,IPP软件CCD驱动光盘B.1394卡或者PCI卡C.C CDD.数据线2.先安装软件:A.首先安装IPP系列软件:把IP系列软件安装光盘放入,直接点击“Install image pro…”,“yes” ,“下一步”安装。
一般选择“Typical”。
如果不希望安装图库可以选择“custome”安装B.安装CCD驱动软件:插入光盘,自动运行===>“install drivers”选择相应CCD驱动“install…”选择安装位置3.安装硬件:关闭计算机,打开计算机机箱,把采集卡插入空闲的PCI插槽中。
4.安装1394卡(或PCI卡)打开计算机主机箱,把卡插入PCI插槽中。
请注意:有的卡带有外接电源插孔,插入计算机后需要接好电源。
如图所示:下图为DP70的PCI卡插入计算机后的图片。
(***注:DP70要选择全长机箱,否则需要按照下图改造)5.连接CCD与采集卡:用1394线或者专用的数据线连接CCD与采集卡。
下图是1394线与CCD连接的示意图。
******千万注意!!!通常插口都有方向性,看清方向后再插入,否则会损坏相机6.一般情况下,系统可以自动识别采集卡。
如果打开CCD有问题,请到系统中查看硬件是否驱动正常。
(打开CCD正常工作时请跳过此步)在“我的电脑”上点击右键,选择“属性”,然后点击“设备管理器”,7.插入软件锁。
如果计算机系统是Service Pack 2,可能会出现软件锁不能识别的提示,此时需要安装驱动软件。
问题表现为:安装软件锁后系统提示“不能识别该硬件”;问题原因:此问题是由Microsoft Windows XP Service Pack2引起的,如果计算机系统安装Microsoft Windows XP Service Pack1 则不会有问题。
解决方法,*****得到HASP文件: 可以从 IPP5.1的安装盘中拷贝HASP目录,也可以从以下地址下载最新的HASP文件: /news/showstory.asp?storyid=54Step 1. 把HASP目录全部拷贝到计算机,比如:拷贝至C盘根目录下,Step 2. 打开“DOS命令提示符”程序(一般在:开始—〉程序—〉附件—〉命令提示符) Step 3. 在打开的DOS命令提示符界面中转到HASP目录下,比如:C:\HASP〉Step 4. 输入DOS命令:hinstall /i (注意: hinstall和/符号之间要有一个空格!)即:C:\HASP〉hinstall /i然后,Enter键执行此命令即可。
IPP7.0.7.325开发环境设置1.安装w_ipp_7.0.7.325_ia32.exe到d:\work\intel\2.添加IPPROOT环境变量,IPPROOT=D:\work\Intel\Composer XE 2011 SP1\ipp3.Dll路径会在安装过程中自动添加到系统的path路径中这里分别安装了ipp、tbb、mkl,所以出现了三个路径。
4.在程序中包含头文件#include"ipp.h"5.添加头文件路径、库文件目录路径[自动完成]如下图所示,ipp提供了一个vs的插件,可以通过gui界面来设置这些依赖,选择使用某个组件后会在自动当前项目配置文件中加入对应的文件搜索路径。
当前选择使用IPP,点击“apply”按钮后,项目的配置文件(vcproj文件)会增加下面设置:头文件搜索路径库文件搜索路径6.添加依赖库[无需设置]所有依赖库均在Ipp.h头文件中各自对应模块的头文件中用#pragma comment自动添加了。
因此无需在项目程序中设置。
如:Ippcore.h中:#if !defined( _IPP_NO_DEFAULT_LIB )#if defined( _IPP_PARALLEL_DYNAMIC )#pragma comment( lib, "ippcore" )#elif defined( _IPP_PARALLEL_STATIC )#pragma comment( lib, "ippcore_t" )#elif defined( _IPP_SEQUENTIAL_STATIC )#pragma comment( lib, "ippcore_l" )#endif#endif7.示例程序创建一个win32控制台应用程序ippTest,ippTest.cpp文件内容如下:#include"stdafx.h"#include"ipp.h"int main(int argc, char* argv[]){const IppLibraryVersion *v=NULL;const int lem=64*sizeof(Ipp16s),len2=64*sizeof(Ipp16s);Ipp16s* psrc1=(Ipp16s*)ippMalloc(lem);//分配一段内存Ipp16s* psrc2=(Ipp16s*)ippMalloc(lem);Ipp16s* pdst=(Ipp16s*)ippMalloc(lem+lem-1);float phase=3.141592654f;//显示分配时内存内容printf("%d,%d,%d,%d",psrc1[0],psrc1[1],psrc1[2],psrc1[3]);//产生一个三角波ippsTriangle_Direct_16s(psrc1,lem,256.0f,2.0/lem,0.0f,&phase);//显示生成数据后的内存内容printf("%d,%d,%d,%d",psrc1[0],psrc1[1],psrc1[2],psrc1[3]);//获取使用的ipp的版本号v=ippGetLibVersion();return 0;}结束语可见ipp的应用程序配置异常的简单哦。
.IPP库使用方法
IPP“Intel Integrated Performance Primitives”(Intel IPP )是一套跨平台的软件函数库,他提供了广泛的多媒体功能:音频解码器(例如:H263 、MPEG-4 )、图像处理(JPEG) 、信号处理、语音压缩(例如:G723 、GSM 、AMR )和加密机制。
“Intel IPP”包含各种的函数,用于进行向量与图像处理、颜色转换、过滤、分屏、设置域值、变换,以及算术、统计、几何与图形运算。
对于每个函数,“Intel IPP”均支持多种数据类型和分布,同时保持了数据结构的最小化,它提供了丰富的选项供用户在设计与优化应用程序时选用,不必再去编写特定代码。
采用一套跨平台结构的通用API ,使用者除了不需要担心平台兼容性的问题,更节省了开发成本以及研发时间,使用者可以轻轻松松移植原有应用程序。
IPP是个好东西,里面的函数精而全,希望大家好好利用。
因为IPP目前很少中文资料,我们只能靠自己摸索。
下面就简单说说IPP在VC2005下的基本使用方法。
假定你的IPP是安装在“D:IntelIPP”目录下。
首先是配置VC2005的环境。
打开VC2005后,点击菜单栏的“工具--选项”,在左侧找到“项目和解决方案--VC++目录”,在“可执行文件”的目录中添加“D:IntelIPPbin”,在“包含文件”的目录中添加“D:IntelIPPinclude”,在“库文件”中添加“D:IntelIPPstublib”和“D:IntelIPPlib”,确定即可。
然后就是具体的在项目中使用IPP了。
我们这次的项目主要是使用IPP的图像处理函数,这些函数的具体说明可以在“D:IntelIPPdocippiman.pdf”这个文件中找到。
函数的命名其实也是很有规律的,例如图像拷贝的函数,也就是手册里的“4.Image Data Exchange and Initialization Functions”中的Copy这一功能,对于不同的图像,应当使用不同的Copy函数,它的命名是这样的:首先是前缀“ippi”,所有图像处理的函数都以“ippi”开头;然后是功能名称“Copy”,连起来就是“ippiCopy”;之后连一个下划线和对应的模式“ippiCopy_<mod>”,那个“<mod>”替换成对应的颜色模式,例如“8u_C1R”,其中的“C1R”表示图像只有一个颜色通道,而“8u”表示每个象素的颜色的数据类型都是8位无符号数,也就是说这种图像是一个字节表示一个像素的。
我们平时用的比较多的是“8u_C3R”,也就是三个颜色通道,每个通道的数据类型都是8位无符号数。
但是显示的时候往往需要4个通道的,也就是除了RGB以外,还多了一个Alpha通道(透明度),这是因为我们的电脑一般都设成32位色深的。
这时我们就需要把24位的图像转化成32位的,用“ippiCopy_8u_C3AC4R”这个函数就可以了。
其中“8u_C3”就代表原始图像是8位无符号数据,3个通道,而AC4R就表示目标图像是带有Alpha通道的4通道图像。
再看看函数的完整形式:
IppStatus ippiCopy_8u_C3AC4R(const Ipp<datatype>* pSrc, int srcStep,
Ipp<datatype>* pDst, int dstStep, IppiSize roiSize);
其返回值是IppStatus,这个只要看看后面的返回值说明就知道啦,其实是一个整型值来的,只不过IPP里为了方便为这些值都用宏替换赋了名称,这里不再赘述。
再来看看函数的参数,其中pSrc和pDst都是指针来的,pSrc就是源图像的图像数据指针,而pDst则指向
目标图像的数据。
前面的Ipp<datatype>*中的datatype需要替换成相应的数据类型代码,例如8位无符号数,就是“Ipp8u*”了,大家看看手册前面的Function Naming中的Data Types 那一节就知道了。
而srcStep和dstStep则是指行扫描宽度,也就是图像的一行占用多少字节,这个参数在许多图像处理的函数中都会用到。
例如一个320*240的8u_C3R图像,它的行扫描宽度就是320*(3*8)/8=960了。
需要注意的是,行扫描宽度必须是4的整数倍,也就是DWORD对齐的,对于不满足4的整数倍的,则应补零对齐。
那么上面那条公式就不能适用所有图像了,不过可使用下面的代码来正确计算行扫描宽度:
(((width*channels*8)+31) >> 5) << 2
其中width是图像的宽度,channels是通道数。
最后的roiSize其实是一个IppiSize结构体来的,定义如下:
typedef struct {
int width;
int height;
} IppiSize;
很明显就是图像的宽高了。
这些结构体之类的基本类型定义都在手册的Function Naming中有详细说明。
至于要使用这个函数需要包含哪个头文件呢?我们看到Copy函数的说明里后面有一句“The function ippiCopy is declared in the ippi.h file.”很好,#include "ippi.h"就是了。
但是如果这样就直接编译,链接器便会告诉你有ippiCopy_8u_C3AC4R这么一个无法解析的外部符号。
这是因为我们还没把库文件链接进来呢。
ippi.h对应的库文件就是ippi.lib了。
点击菜单的“项目--xxx属性--配置属性--链接器--输入”,在右边的“附加依赖项”中填入ippi.lib即可。
若有多个库要使用,则用回车隔开。
另外,为了兼容VC6.0的程序,在“项目--xxx属性--配置属性--常规”,右边的“字符集”应选择“多字节字符集”。
而在“项目--xxx属性--配置属性--调试”中,“工作目录”应设为“D:IntelIPPbin”,这样运行时程序才能调用IPP的动态链接库,或者把所需要的dll文件复制到你的Debug或Release文件夹下面也行。
好了,至此我们的程序便可以编译运行了。
感觉IPP用起来还是比较简便的,说明文档里也讲的很全,就是例子比较少,大家多实践实践应该比较容易上手的了。
还是那句,边学边用,印象深,效率高。