图像显示控制

2024-06-20

图像显示控制(精选九篇)

图像显示控制 篇1

随着嵌入式技术的发展,LCD在嵌入式系统中的广泛应用推动了LCD显示控制器的发展和完善。 随着所需显示的图像信息增加、 功能要求增多对LCD显示控制器的功能提出了更高的要求[1]。

当前,嵌入式领域使用的LCD显示控制器主要有微处理集成型和专用型两种类型,如LPC1788 自带的LCD显示控制器和ILI9320 专用LCD显示控制器, 由于使用便捷、 性能稳定, 在一般嵌入式系统的显示领域应用广泛。 但随着嵌入式系统定制化需求提高、显示要求增多,如需视频和操作界面等多路图像混合输出显示的场合,上述的LCD显示控制器由于接口单一、 功能固定, 很难满足实际需求。 如依旧使用这类显示控制器,则往往需嵌入式处理器完成显示前的合成处理,极大地增加了嵌入式处理器的处理压力,不但需要额外选择性能高端的处理器,更是加大了编程开发难度[2]。

针对以上情况, 结合实际工程需求, 本文提出了一种基于FPGA的专用LCD显示控制器,具有多路图像协调存取、画中画显示、OSD字符叠加等功能,可用于视频信息和显示数据混合输入领域。

1 LCD显示控制器总体构架

1 . 1 具有多路图像数据合成的改进型嵌入式系统

典型的具有视频显示功能的嵌入式系统如图1 (a)所示, 主要由ARM最小系统、 摄像头、 集成或专用LCD显示控制器、 显存模块、LCD组成。 其中LCD显示控制器由ARM处理器自带或外接专用芯片, 在需要多路图像处理时需调用自身ARM处理器,极大增加了ARM处理器的负担,不得不选用高端处理器来达到所需处理性能要求。

针对典型电路的不足,本设计将实时视频直接接入LCD显示控制器处理, 而不经过ARM处理器, 系统结构如图1(b) 所示。 由LCD显示控制器直接完成视频数据与操作显示数据的存取、合成、叠加等处理操作,降低了ARM处理器处理图像数据的压力, 从而保证系统高效稳定工作。

1 . 2 LCD显示控制器的工作原理及构架

LCD显示控制器由视频接口电路完成视频数据的转换、 输入, 由8080、6800 等协议接口电路完成ARM最小系统显示数据的解析、 输入, 再由主控器与存储控制器把两路数据分别存入片外存储器中,再由后级合成显示电路从显存中读取所需要的图像数据,合成处理后配合LCD显示所需要时序一同送入LCD中, 完成最终的显示。

根据上述原理提出了如图2 所示的LCD显示控制器构架, 主要由图像接口、 图像缓存、 协调存取、 显示合成等模块组成, 完成从图像接入、 处理、 存取、 输出显示等一系列工作[3]。

2 图像接口电路设计

2 . 1 视频接口电路设计

本设计选用OV7670 作为接入摄像头, 不经过ARM最小系统处理直接接入LCD显示控制器中, 通过SCCB总线对OV7670 进行初始化配置, 然后把配置完成信息传递给拼接模块, 由拼接模块来接收OV7670 摄像头输入的视频像素信号、像素时钟、行同步帧同步信号,最终输出16 位RGB565 格式数据、拼接后像素的像素时钟和帧有效信号, 视频最高分辨率为640×480 ppi, 帧率达到30 帧/ 秒。

2 . 2 8080 接口协议解析电路设计

ARM最小系统显示数据以8080 时序输入, 8080 接口协议解析电路,一方面配合其时序接收相应的数据信息, 另一方面对接收到的数据信息进行解析[4], 具体设计的总线连接和寄存器设置如图3 所示。

在ARM最小系统部分, 可以使用模拟8080 方式或FSMC ( 可变静态存储控制器) 进行时序信号的传输, 其中使用FSMC方式速度更快、更便捷[5]。 具体FPGA设置的控制功能和寄存器配置如表1 所示,ARM处理器编程时只要按照以下数据时序要求,就可以方便地进行寄存器控制和数据读写。

3 协调存取电路设计

存取协调电路包括视频与显示数据的预处理、SDRAM协调控制器, 其中SDRAM协调控制器是整个协调控制电路的核心, 为了让LCD显示控制器灵活存取连续更新的视频数据和非连续更新的ARM最小系统显示数据,改进了传统的SDRAM控制器, 总体结构如图4所示, 使其在操作两类不同数据时更加灵活高效便捷,并可以移植扩展。

3 . 1 SDRAM主协调器设计

SDRAM主协调器主要根据控制信息控制SDRAM从控制器工作,完成视频数据与显示数据的协调。 其中视频帧有效信号和起始、 结束地址分别给出视频数据和ARM显示数据的帧完成信号, 其中ARM显示数据像素点与起始地址、结束地址关系如式(1)所示:

其中S为有效像素点个数,H0、 V0为起始行地址和起始列地址,H1、 V1为结束行地址和结束列地址。

3 . 2 SDRAM从协调器设计

SDRAM从协调器会根据接收的信息对对应数据进行存储规划,对于视频数据,从协调器使用顺序存取,而在ARM显示数据部分,则使用映射存取,具体对应关系如图5 所示。

当ARM处理器需更新上图所示区域时,可以根据式(2)计算出对应SDRAM在存储上述所更新数据时的地址值。

其中VM、HM为LCD显示区域行像素点和列像素点,CM 、RM为SDRAM存取列地址和行地址,AR为更新数据在SDRAM存储时的起始行地址、AC为更新数据在SDRAM存储时的起始列地址、 NV为连续存储的像素点值,NH为所需更新的区域块,BA为连续存储像素点结束后需跳过像素点个数。

3 . 3 SDRAM控制器设计

SDRAM控制器主要完成初始化、 自刷新、 行列地址输出、 读写控制等针对SDRAM的直接操作。 在本设计中,SDRAM除了完成初始化和自刷新等基本控制功能外,其他的读写切换、分页地址切换都受对应SDRAM从协调器控制,最终完成单片SDRAM的部分乒乓存取,主要利用SDRAM高速读写来完成片内的分页读写切换。

4 合成显示电路设计

4 . 1 合成控制电路设计

合成模块从SDRAM中读取所需显示数据, 根据显示方式进行数据的筛选调整,然后把相应的显示数据点输出, 合成控制功能示意图如图6 所示, 其中根据显示方式的不同,分别可以显示单视频、单ARM显示信息和画中画显示,以方便嵌入式系统根据对应显示要求进行调节控制,达到最佳的显示操作体验[6]。

4 . 2 OSD字符叠加电路设计

OSD字符叠加是一种辅助信息显示方法, 可以在原本输出显示的图像上叠加所需辅助显示的字符信息,以达到显示效果最优化,本设计在最终数据输出部分加入了OSD叠加模块,ROM中数据有叠加所需给定,并通过分层叠加操作对输入显示数据进行处理,通过透明度的调节可以让随屏叠加字符有透明效果,用以表示辅助信息的次重点[7]。

4 . 3 LCD驱动时序产生电路设计

时序发生模块接收最终处理完成的显示数据, 并根据对应显示屏的驱动时序, 产生相应的驱动时序, 把所需显示数据送到LCD上完成显示。 本设计选取群创的7寸屏AT070TN83 作为最终显示屏幕。 关键时序参数如表2 所示,其中的t CLK的典型值为30 ns。

5 LCD显示控制器的实现与功能测试

基于上述设计,用Verilog HDL编程在FPGA cyclone IIEP2C35F484C8N上实现, 用两片1 M × 4 BANK × 16 bit容量的SDRAM K4S641632 作为数据显存, 并通过摄像头OV7670 、 ARM STM32F103 和群创7 寸屏AT070TN83 进行系统测试。

利用Signal Tap II工具实时捕捉输出端信号,主要包括驱动时钟lcd_clk、 行同步信号lcd_hs、 帧同步信号lcd_vs 、 数据有效信号lcd_en 、 显示数据蓝色分量lcd_blue , 捕捉实时显示驱动时序如图7 和图8 所示。

由测试时序分析可得LCD显示控制器产生的时序完全符合7 寸屏AT070TN83 驱动所需的时序要求。

LCD显示控制器接入实际嵌入式系统中进行显示效果测试, 主要包括ARM、 摄像头和LCD屏等器件, 最终实际的显示界面如图9 所示。

上图中A区域为实时视频显示区域,B区域为由ARM显示数据确定的操作界面的显示区域,C区域为由OSD字符叠加形成的字符区域, 其中视频显示界面可对大小位置进行调节, 显示界面可根据用户自定义编程设置, 并可以灵活加入各类随屏显示内容。 经测试,LCD显示控制器设计运行良好、显示效果稳定可靠,可以满足设计需求。

6 结论

电脑开机不显示图像 篇2

1、开机后如果不显示桌面的图标,你就在桌面上点击右键,查看---显示桌面图标。这样你的桌面上的图标就会出现了。桌面功能也就正常了。

2、如果你的问题是不显示图标也不显示任务栏的话,你就按住键盘上的esc、shift、ctrl这三个键,这三个键要同时按。这时候系统没问题的话应该会出现任务管理器。

3、点击任务管理器的左上角的应用程序选项。

4、在应用程序选项中点击程序右下角的新任务按钮。

5、在创建新任务的输入框中输入“explorer”,然后点击确定。

6、如果没有其他原因,此时应该会出现桌面以及任务栏。

7、如果依然不出现桌面图标及任务栏,请参看下面的解决办法。

方法二:病毒原因的解决办法

1、如果通过上述设置的方法不能奏效,那就有可能是病毒的原因致使开机不显示桌面。方法是你重新开机,然后一直不停地按键盘上的F8键进入安全模式。

2、此时已经进入安全模式,你选择第项进入安全模式。

3、如果是病毒的原因,进入安全模式之后应该会出现界面,因为病毒文件无法在安全模式下运行。

4、然后打开你电脑上安装的杀毒软件,有些软件在安全模式下不能工作,但是一些装机必备的安全软件可以在安全模式下工作,你打开之后进行杀毒。

5、杀毒完成后重新启动电脑,如果是病毒的原因,应该能够出现桌面。如果依然不出现桌面,那就是系统本身的原因了,有可能是病毒破坏了系统文件,而不能使电脑开机进入正常的桌面。

方法三:系统本身的原因的解决办法

1、如果上述方法不能奏效,那一定就是系统本身的原因了。出现了这种状况是每个人都不想的,但是出现了就得解决。如果你是个有心人,以前曾经备份了系统,那现在就可以非常方便的进行系统还原,把电脑还原到以前的正常的状态下了。还原的方法有以下几种:

2、还原软件的还原:一般在开机时不停地按上下键然后选择进入还原程序开始还原。还原后自动重启进入桌面。

3、系统自身的还原,开机按F8进入安全模式之后进行系统的还原。

图像显示控制 篇3

关键词: 图像采集; 图像缓存; LVDS接口; LUPA13002

中图分类号: TN 274文献标识码: Adoi: 10.3969/j.issn.10055630.2013.02.011

引言高帧频相机是研究物体的高速运动或瞬态流逝现象的有效工具,广泛应用于航空、航天以及武器系统等领域,研究高速运动物体的运动规律,在武器试验领域可对舰载、机载导弹发射姿态进行实时记录与跟踪,对其性能进行分析等,为武器系统试验验证提供决策依据。长期以来,中国的高帧频相机主要依赖于进口,尽管进口相机的帧频达到了1 000 fps,可分辨率很低,且使用条件仅限于民用,所采用的技术不对外公开,可借鉴的文献极少。国内目前研究高帧频相机的单位极少,长春光机所在2008年研制的高帧频互补金属氧化物半导体(complementary metal oxide semiconductor,CMOS)实时图像采集系统能够满足高速图像数据的采集与处理,且画面清晰,但该系统采用Camera Link接口实现数据的传输,通过PCI图像采集卡将数据采集到计算机上进行处理及显示,系统体积较大,不符合机载相机体积小的要求[1]。本文所研究的高帧频图像采集系统的分辨率为1 024×1 280,采集帧频为500 fps,对实时图像采集和数据处理的要求很高。采用Cypress公司130万像数的LUPA13002型CMOS图像传感器捕获图像信息,以现场可编程门阵列(fieldprogrammable gate array,FPGA)为核心处理单元来完成500 fps的图像数据采集及实时显示,对图像数据的采集,色彩复原,先入先出队列(first in first out,FIFO)缓存,同步动态随机存储器(synchronous dynamic random access memory,SDRAM)存贮及VGA显示进行的研究,可满足机载、舰载和车载环境下高机动性、小型一体化的需求。1图像采集系统的总体方案分析由于要对高速运动物体的瞬态图像进行拍摄,如爆炸瞬间,导弹发射瞬间等,需要较高的分辨率及帧频,为满足需求,所研究的500 fps图像采集与实时显示系统的主要技术参数有:拍摄帧频:500 fps;采集像素数:1 024×1 280;数据位宽:10 bit。由系统的主要技术参数可以计算出高帧频数字图像传感器的图像信息输出速度为781.25 MB/s,并且LUPA13002图像传感器输出格式为Bayer格式,需要转化为RGB格式,格式转化后在FPGA内部的传输速度为2343.75 MB/s[2]。由此可见,系统的数据处理量很大,对FPGA、缓存器件的性能及数据处理算法的要求很高。由于帧频很高,不需要人眼实时观察全过程,仅观察变化规律即可,因此在实时显示环节,采用抽帧显示的方式,可以减小系统的数据处理负担,增加系统的稳定性。光学仪器第35卷

第2期侯宏录,等:500 fps图像采集及实时显示关键技术研究

本文选用Altera公司的Cyclone II系列EP2C35型号的FPGA芯片作为核心处理单元,系统有低压差分信号(lowvoltage differential signaling,LVDS)支持,接收端最高805 Mbit/s数据速率,支持SDRAM、DDR2 SDRAM器件,使系统的硬件结构更为简单。系统的总体框图如图1所示。

系统工作时首先通过键盘启动数字图像传感器LUPA13002,FPGA通过串行外设接口(serial peripheral interface,SPI)总线将默认参数传输到LUPA13002,如曝光时间、像素数、开窗区域等,并对整个系统进行初始化设置。系统启动完成后由LUPA13002捕获高速运动目标的瞬态图像信息,通过高速LVDS接口将Bayer格式的图像传输到图像采集模块,由色彩复原模块对完成图像色彩重建,转化为RGB格式图像。图像抽帧模块每20帧抽取一帧图像,且通过FIFO1缓存存储到SDRAM中,由FIFO2读取SDRAM中暂存的图像信息并传输到VGA接口,最终在LCD上实时显示[3]。2图像采集模块设计图像采集模块对LVDS信号进行串行数据解析,得到同步信息码,还原出正常的图像同步信息。如行有效信号,场有效信号等,最终完成对图像信息的采集。LUPA13002是Cypress 公司推出的针对机器视觉和运动分析的高性能的CMOS图像传感器,它能够提供无失真图像并执行快速读出。LUPA13002在1 024×1 280分辨率下可实现500 fps的图像采集,利用视窗或子采样读取模式可以达到更高的帧速率;采用12路10位ADC的LVDS以DDR方式输出,每通道像素率最大为630 Mbit/s;采用管线化全局同步快门成像,可有效避免拍摄高速运动所产生的影像模糊和图像畸变;通过SPI接口对 CMOS 传感器内部寄存器配置,控制传感器的工作状态,控制方式简单、灵活;输出图像格式为Bayer格式,要在传感器外部完成色彩重建[4]。

2.1LUPA13002工作时序LUPA13002 的工作流程分为如下几步:初始化复位、训练模式、配置片内寄存器、像素光积分、图像信号放大和量化输出。LUPA13002在工作时首先通过RESET_N 对传感器的片载序列发生器、内部寄存器和时序电路进行复位;复位完成后启动训练模式,确保读出图像数据的正确性;然后通过SPI总线对片内寄存器进行配置,主要包括传感器的帧频、曝光时间、开窗、光积分模式等;寄存器配置完成后开始对图像进行捕获、图像信号放大、LVDS量化输出。

nlc202309011223

2.2SPI总线时序驱动FPGA通过SPI总线对LUPA13002内部105个寄存器进行配置,以使传感器能够正常工作。SPI总线有CS、CLK、IN、OUT四条信号线。CLK提供接口同步时钟,最高速率为主时钟的三十分之一。每组数据有16位,第1位为读写控制命令位,第2~8位为内部寄存器的地址位,第9~16位为数据位,对应于传感器的寄存器配置参数。其中SPI读时序的仿真图如图2所示。

2.3LVDS信号接收LUPA13002输出的图像数据通过LVDS接口以DDR方式输出,每24个像数为一个核单元,每一行总共有54个核单元。每个核单元按照一定的次序,分2次在12个通路中,以双倍数据速率串行输出。先输出第0、2、4…22个像数,再输出第1、3、5…23个像数,接着再输出47、45、43…25个像数,再输出第46、44、42…24个像数,以此类推,直至输出1行的所有像数数据[5]。数据通道与像素时钟的相位关系如图3所示。FPGA在接收到LUPA13002的图像数据后,进过串行数据解析和像素重组,得到场标识信号iFVAL,行标识信号 iLVAL和像素信号[11:0]iDATA,复位信号iRST,开始信号iSTART和结束信号iEND,然后通过对这些信号的时序控制,接收到正确的图像数据。最终在ModelSim中仿真得到图像采集仿真图如图4所示。图3数据通道与像素时钟的相位关系

3SDRAM缓存设计在实时显示图像信息时,尽管进行了抽帧,但数据处理量仍然很大,仅靠FPGA内部的存储空间无法满足需求,需要高速、大容量的存储器来缓存图像数据,采用SDRAM对图像进行缓存。但FPGA的时钟,SDRAM的时钟及VGA的时钟均不相同,需要采用FIFO将两个工作频率不同的器件进行数据的交互。 FIFO是一种先进先出的数据缓存器,分为同步FIFO和异步FIFO两种,异步FIFO是跨时钟域系统设计中比较常见的模块组成,它的主要作用是使2个工作频率不同的器件在进行数据交互时实现数据的平稳传输[6]。人眼的极限分辨时间为1/24 s,每20帧抽取一帧,抽帧后帧频为25 fps,此时RGB格式图像的传输速率为117.187 5 MB/s。为满足实时性需求,SDRAM缓存时,采用乒乓交替读入和写出完成数据的缓存,每个SDRAM的容量需大于一帧图像的大小,即4.687 5 MB,存一帧数据需要的时间为0.04 s。因此,选用的SDRAM的容量应大于4.687 5 MB,读写速度应大于117.187 5 MB/s。设计中选用的2片SDRAM,型号为IS42S16320B,容量为64 MB,读写速度为286 MB/s。SDRAM在上电时,首先要进行初始化,包括200 μs的输入稳定期,LBank预充电,8次自刷新,模式寄存器设置。初始化完成后进入工作状态,其工作时序为空闲状态→行有效状态→行有效等待状态→读/写数据准备状态→读等待潜伏期→读/写数据状态→读/写完后预充电等待状态→空闲状态[7]。用ModelSim对其读/写时序进行仿真,读操作与写操作的仿真图如图5和图6所示。图5SDRAM读操作时序图

4实时显示系统设计VGA时序控制模块的作用是将缓存于SDRAM中的图像数据在VGA显示器上实时显示。VGA工作时采用逐行扫描的方式,扫描从屏幕的左上方开始,从左到右,从上到下,逐行扫描。每扫完一行,用行同步信号进行行同步,电子束对显示器进行消隐,并使其回到屏幕下一行的起始位置。当扫描完所有行时,用场同步信号进行场同步,使扫描回到屏幕左上方扫描起始位置。同时进行场消隐,并预备下一帧的扫描[89],图7所示为用ModelSim所做的VGA显示时序仿真图。

在此时序图中,有VGA时钟vga_clk,行有效信号hsync和帧有效信号vsync,在其都为高电平并且在VGA时钟的上升沿输出图像颜色信息vga_r,vga_g,vga_b。图8静态图像采集

Fig.8Stationary image acquisition5系统测试为了验证系统设计的正确性,依据总体设计方案制作了采集、记录与显示电路,设计了采集软件,对运动目标进行实际拍摄。在满分辨率条件下对静态物体(花盆)进行实时图像采集与显示,如图8所示,能够很清晰地将物体图像显示在显示器上。以电动小车为目标,移动速度约为4.5 km/h,在一段时间内对小车的移动过程进行拍摄,选取其中连续的6幅图像进行分析,如图9所示。通过图9可以看出,本文所论述的500 fps图像采集及实时显示系统能够完成对高速运动的目标进行高速的图像采集并实时显示,满足现场实时性的需求。

图9连续图像采集

Fig.9Continuous image acquisition

6结论本文对分辨率为1 024×1 280的500 fps高帧频图像采集及实时显示的关键技术进行了研究,提出了实现该技术的基本方案。在设计过程中对各模块进行仿真,验证其可行性,最终设计完成后对整个系统进行性能测试,实现了对视频图像的实时采集、缓存与显示,满足国防与科研试验中对高速视频采集与记录显示的需求。参考文献:

[1]杜鹃.基于FPGA的高帧频CMOS相机数据传输系统设计[D].西安:西安工业大学,2011:2-3.

[2]杨莉珺,刘铁根,朱均超,等.基于CMOS图像传感器的嵌入式图像采集与格式转化[J].电子产品世界,2008(6):96-98.

[3]侯宏录,杜鹃.基于乒乓操作的千兆MAC中的FIFO设计[J].光学仪器,2011,33(1):36-42.

[4]杨会伟.高帧频CMOS相机图像采集系统研究[D].西安:西安工业大学,2009:10-13.

[5]郭文豹.高速CMOS智能相机研究[D].长春:长春光学精密机械与物理研究所,2010:13-21.

[6]张涛.高帧频CMOS相机实时压缩与传输关键技术究[D].西安:西安工业大学,2012:24-25.

[7]张文芳.基于FPGA的SDRAM控制器设计方案[J].兵工自动化,2012,31(2):57-60.

[8]孙艳,孙爱良,王紫婷.基于FPGA的VGA显示控制器的实现[J].自动化与仪器仪表,2008,6(7):106-107.

[9]董兵,朱齐丹,文睿.基于FPGA的VGA图像控制器的设计与实现[J].应用科技,2006,33(10):42-45.

实时图像显示系统电路设计 篇4

1 SAA7111的振荡电路的设计

根据SAA7111数据手册应用电路, 24.576MHz晶振两侧电容, 其电容数值为10pF, 但通过实验发现, 在此后的实时显示系统显示的图像中, 彩色图像无法正常显示, 色差严重。通过更改电容, 把10pF改为20pF后, 图像画面色彩清晰, 效果良好。而且, 实验证明, 10μH的电感的有无对系统影响不大, 也可以去除。如图2所示。

2 AL250模式选择电路设计

AL250的8, 9, 11, 12, 13五脚, 为视频输入模式选择引脚。对它们高位或低位的选择, 可关系到系统初始化, 影响输出视频信号格式。运用拨码开关, 可以方便进行由拨码开关来选择图像格式。但在系统中, 由于AL250的初始化是以软件为主, 故在原理图上未用这种连接方法, 此接法仅供参考, 如图3所示。

3 AL250复位电路

AL250为低电平复位, 当系统上电, 电容相当于短路, AL250立即复位。随后, 电容充电, 当充电结束, 复位也完成。电路如图4所示。

4 SAA7111与AL250的接口设计

SAA7111与AL250的接口电路上, 主要有数字视频信号和、同步信号和时钟信号线。其中, VPO0~7为色度信号, VPO8~15亮度信号, HS和VS分别为行同步和场同步信号, VREF为场参考电压, LLC和LLC2为时钟信号线, 同步问题至关重要, 对同步信号线的分析也需仔细。在系统中, LLC为27MHz, LLC2为13.5MHz, VS信号为标准50Hz, HREF为15.6kHz。接线设计如图5所示。

5 AL250与CRT的接口设计

由AL250至CRT显示器的信号, 相当于进行图像格式的转换, 将YUV422信号转换成VGA信号, 从而在显示器上实时显示出CCD所采集的图像信息。接口设计如图6所示。

CRT显示器的接口电路上AR, AG, AB红绿蓝三线在接地时需分别接一个磁珠和一个75Ω电阻, 磁珠两侧用10pF电容接地;AL250的GHS和GVS线和对应显示器的行场同步信号线连接。

6 电源设计

本系统为多器件数模混和的系统, 在设计电源系统的设计时应考虑到不同器件的需求。其中, SAA7111和AL250两个器件都涉及到了对模拟信号和数字信号的处理, 加之系统中有模拟电路和数字电路, 为避免两种信号间的干扰, 设计模拟电源和数字电源。系统中, 8051F015为5V供电, 其他器件为3.3V模拟和数字供电。设计如图7所示。

在设计时, 需用电感或磁珠来隔离模拟电源和数字电源。电感或磁珠相当于一个低通滤波器, 直流可以通过, 而高频信号将被滤去。

7 系统中其它相关引脚设计

在SAA7111中, /FEI为快速输入信号允许, 低电平有效。用于控制数字YUV总线的高速切换。当它为高时, 通过I2C强制Y和UV信号输出的全部为高阻态。在系统中, 我们要求图像实时显示, 所以通过一个1K的电阻直接接地。AL250中, 31脚COMP为比较输出端, 接0.1μF电容上拉到电源, 30脚RSET为输入限流调节, 通过100欧姆电阻拉到地。如图8所示。

图像显示控制 篇5

Delphi是Windows平台下著名的快速应用程序开发工具, 它具有简单、高效、功能强大的特点。目前, Delphi已经成为众多软件开发者常用的开发工具。但是, 如何在Delphi环境下实现任意角度、任意次数的旋转显示, 并保持图像的自我恢复功能, 这是一件十分困难的事情, Delphi没有提供现成的命令、函数或控件开发工具。

对于一些小的图像, 可以将图像保存到内存中, 每次旋转时从内存中读入像素, 实现相应的操作。但图像像素过大, 不可能在内存全部保存。笔者在进行钻井录井曲线图像转换操作的过程中, 就遇到了这样的问题, 而且每旋转一次就会不可逆转地丢失掉部分图像信息。

笔者针对这一问题进行了大量的测试, 最终设计了一种行之有效的、在Delphi环境下实现图像旋转操作的方法, 现介绍如下:

2 实现图像旋转的方法与途径

在一个Scroll Box控件内放置两个Image图像, 分别将Name属性设置为Image Right、Image Left, 并使两个Image控件在Scroll Box控件内完全重叠, 将Image Right的Transparent属性置为False, 而将Image Left的Transparent属性置为True。程序运行时, 在Image Right上加载原图像, Image Left上显示原图或旋转后的图像。图像调入后, 分别在Image Right、Image Left上同时保存, 并在Image Left上显示。一旦要旋转图像, 就从Image Left中获取图像像素, 并按给定的角度旋转后, 在Image Right上显示。采用这样的方式, 每次的旋转操作都是调用原图像素来完成的, 既方便快捷, 又能够避免丢失图像信息。

为了实现图像快速、精确的旋转, 采用一个滚动条Scroll Bar1和单行编辑器Edit Rotary A控件组合进行图像的旋转调整控制。可以根据原图像的偏斜情况估计一个角度进行粗略的旋转操作, 而后根据效果再用滚动条实现图像旋转的精细控制。在Scroll Bar1的On Change事件上编制如下脚本, 实现Scroll Bar1与Edit Rotary A之间的数值同步:

同时, 在Edit Rotary A控件的On Change事件中, 编制如下脚本来改变Scroll Bar1滚动条的位置:

为了实现精细的旋转控制, 将Scroll Bar1控件的Max和Min属性分别设置为7200和0, 即旋转分辨力为0.5°

假定旋转前后图像的坐标分别为 (x1、y1) 和 (x2、y2) ;需要旋转的角度为Angle。则旋转过程通过以下的Xuan Zhuan Point () 过程实现:

其中, xx、yy分别为原图像的像素中心点位置。

在以上过程中, 由于以图像的中心点为基准点, 即图像中心位置没有变, 因此旋转后的后的坐标值 (x2、y2) 可能会出现不合理的负值。为了避免这样的结果, 应首先获取旋转后图形的范围, 然后将超出图像之外的部分进行适当平移。为此, 编制如下的Get Xuan Zhuang Image XY () 过程来确定图像 (xmin, ymin) - (xmax, ymax) 的矩形区域:

在已知图像旋转后的矩形区域后, 如果 (xmin, ymin) 坐标在有效区域之外, 就再对图像进行相应的平移处理。

通过这样的设计, 最终获得的图像旋转操作脚本具体如下:

3 应用实例

以油田录井曲线扫描图的旋转处理为例, 进行图像旋转的详细介绍。由于以前的录井资料是以图像方式保存的, 为了快速地获取图像中的数据, 需要通过计算机编程, 用计算机进行自动读图处理。但这些图像进行扫描时, 往往存在角度的偏差, 导致获得的图像如图1 (a) 所示。由于扫描图像角度的偏差是随机的, 因此需要将图像做适当的旋转, 将图像恢复到标准位置, 以便让计算机进行自动读图操作。

图1 (b) 就是采用上述方法进行图像旋转操作后得到的效果。使用表明, 通过这样的旋转处理后, 就可以编制读图程序, 方便地将图1 (b) 中的录井曲线数据一一读取下来, 以供后续的科学研究使用。

4 结语

Delphi是一个被广泛使用的应用软件开发工具, 但Delphi本身没有用于任意角度图像旋转的控件和工具, 本文介绍了一种可以实现图像任意旋转的Delphi语言编程方法。该方法不仅可以实现任意角度图像的旋转显示, 而且能够保证每次旋转后图像的质量, 使用十分方便。

摘要:详细介绍了一种在Delphi环境下, 利用Image、ScrollBar、Edit控件和数字图像处理算法, 实现图像任意角度旋转显示的编程技巧, 并给出了相关的程序源码。

关键词:图像旋转,数字图像处理,Delphi语言,录井曲线,图形读取

参考文献

图像显示控制 篇6

红外热成像技术在军事领域和民用工程中都得到了越来越广泛的应用。红外系统一般由3个部分构成:光学系统以及红外探测器、图像高速采集系统、图像处理系统。随着半导体制造工艺的不断进步,红外探测器性能得到迅猛发展,国外已推出了多种超大阵列红外探测器[1]。正因如此,如何保证数据高速稳定的采集以及进行实时处理成为了当前的研究热点。

此外,在诸多实际工程应用中,为方便调试、操作以及监控,实时显示红外图象显得尤为重要,目前常见的应用是采用基于PCI或USB的采集卡,再经由PC机实现红外图像的动态显示[2]。这样的缺点是当数据量很大时,图像的显示将占用PC机的过多资源且实时性受到PC机处理能力的限制。

本文设计的系统采用基于光纤接口的高速数据采集模块,并且使用FPGA编程实现接收模块的控制且直接生成DVI格式的全景视频输出到显示器显示。

1系统总体架构

红外图像高速采集及实时显示系统的总体结构如图1所示。红外探测器头部将采样所得红外图像数据转换为光信号,再经由光纤通道往下传送到接收终端。光纤接收模块将接收到的光信号解码恢复成电信号,传送给FPGA。使用光纤传输图像数据,一方面其带宽大,具备极高的数据传输率;另一方面其抗电磁干扰性强,有利于实现数据稳定准确的传输。FPGA通过CPCI接口与PC机相连,以实现与PC机间必要的通信以及人机互动功能。此外FPGA外接两块DDR存储器,以乒乓模式控制,使得高速数据传输和图像处理能够同时进行。显示模块基于DVI数字视频技术设计,在FPGA内采用Verilog编程实现DVI时序发生控制器,并连接到DVI物理层芯片,生成DVI视频流到显示器上显示这样的设计使得红外图像的显示控制完全在FPGA内完成,不会给主机带来任何负担,实时性的要求也易于实现。而且DVI数字视频相比传统的模拟视频分辨率更高,也更稳定。

2光纤接收模块的设计

光纤接收模块框图如图2所示,其工作流程如下:HFBR-5208光电转换芯片接收光信号并解码成PECL电平的串行数据流,然后经由电平转换芯片sn65lvdt100变换成LVDS电平高速串行信号,再通过MAX9218解串成并行数据流传送到FPGA接收。

2.1HFBR-5208光电转换芯片简介

Avago公司(原Agilent公司半导体部)提供一系列光纤收发模块芯片,数据传输率从几百兆比特每秒到几十吉比特每秒,可满足不同实际应用的需求。本文选用HFBR-5208芯片,其使用62.5/125 μm多模光纤,传输距离可达到500 m,数据传输率为155-622 Mb/s。 其接收数据的原理如图3所示,光学组件从光纤接收到的光信号经InGaAs光电探测器转变为电信号,再通过前置放大器、滤波器、放大器、PECL输出缓冲器,完成光信号到高速串行电信号的转换。

2.2利用MAX9218实现串并转换

MAX9218是一款简单易用的数字串/并转换器,包含数据和控制周期总共27位数据解串。在数据周期,LVDS串行输入被转换为18位并行数据信号,在控制周期,输入被转换为9位并行控制信号。支持3 MHz到35 MHz的较宽范围的并行时钟频率。

为保证数据的正常接收,编码时以行同步控制数据周期与控制周期的切换,在数据周期(HSync为高),使用14位数据线来传输A/D变换后的数字图像数据;在控制周期(HSync为低),使用控制数据线来传输行号,俯仰码等自定义信息。如图4所示。

3实时显示模块

3.1TFP410简介

DVI接口是由DDWG(Digital Display Working Group)提出的新一代高性能数字视频显示接口技术[3]。DVI接口包含了两条T.M.D.S链路,最高可支持165 MHz时钟。单TMDS链路可以支持到1920×1200@60 Hz的分辨率。

TFP410符合DVI1.0接口协议,支持从VGA 到UXGA 的分辨率(25 MHz 到165 MHz 的像素率)。它接收24位并行像素数据、像素时钟以及控制信号,通过T.M.D.S编码模块将其编码成RGB三路数据通道和一路时钟通道。其数据输入接口及性能如下:

时钟输入:支持差分和单端时钟输入模式,频率范围为25 MHz 到165 MHz,在单端时钟输入模式下,IDCK + 应接到单端时钟源上,IDCK-引脚直接接地。差分时钟模式比普通模式有更强的抗干扰能力,这种模式只能在低摆动模式下有效。

图像数据输入:可选择的12位双边沿输入和24位单边沿输入。

控制信号:主要包括数据有效、行同步、帧同步以及其他一些配置TFP410芯片的信号。

3.2显示模块的时序控制

不论CRT或LCD显示器均是通过帧同步和行同步信号来实现逐行逐点的动态扫描。如图5所示。

水平扫描过程由行同步(HSync)和行数据有效信号(H_DE)控制。包含以下4个步骤。(1)行同步有效期(H-Sync),HSync有效,H_DE无效,此提示行扫描将要开始;(2)同步后等待期(H-Back),HSync无效,H_DE无效,提示准备随时开始行扫描;(3)数据有效(Active),HSync无效,H_DE有效,随像素时钟脉冲在总线上逐点输出图像数据。(4)等待下一个同步信号(Wait),HSync无效,H_DE无效, 整行数据传输完毕,等待下一次行扫描开始。垂直扫描与水平扫描类似,由帧同步信号控制。如图6所示。注:数据有效信号必须在H_DE和V_DE同时为高时才有效,此时才在总线上输出有效数据。

4FPGA程序设计

系统核心基于FPGA设计,图7给出了FPGA内部逻辑设计框图。其工作流程如下:首先接收解串后的并行图像数据,使用FPGA内部的Block Ram缓冲数据然后送给图像处理单元;图像处理单元与外部DDR存储器相连,实现红外图像增强等算法;根据视频时序发生器的控制信号,将做增强处理后的图像数据以及同步时钟等信号按标准格式输出到显示模块。

5结论

本文设计的系统优点在于:采用光纤接收图像数据,具备数据传输率高,抗电磁干扰性强等特性;显示部分采用DVI技术,能实时显示超大分辨率的红外全景图;处理和控制逻辑都在FPGA内完成,能独立完成数据接收和实时显示,应用前景十分广阔。

摘要:介绍了一种红外图像高速采集及实时显示系统的总体结构设计。数据采集模块采用Avago公司先进的光纤收发模块,实现了数据高速稳定的接收。显示模块采用数字视频接口(DVI)技术,能够实时显示超大分辨率的红外全景图。系统基于FPGA设计,其可编程特性使得该系统能够满足不同的实际需求,应用前景十分广阔。

关键词:红外图像,高速采集,实时显示

参考文献

[1]麦绿波.焦平面热像仪的发展与应用综述.红外技术,2006,28(9):497—502

[2]王贤均,袁祥辉.实时红外系统图像动态显示的研究.激光与红外,2007,37(3):303—306

[3]Digital Visual Interface1.0.http://www.ddwg.com,1999

[4]HFBR-5208Data Sheet,http://www.avagot ech.com

[5]MAX9218Data Sheet,http://www.max-ic.com

[6]TFP410Data Sheet,http://www.ti.com

图像显示控制 篇7

关键词:嵌入式Linux,S2C2410平台,图像采集与显示,JPEG压缩

1 引言

随着嵌入式技术的迅猛发展,嵌入式技术已经成为一个万众瞩目的焦点,目前已经广泛应用于信息家电、网络、工业控制、航空航天等领域。而Linux开源性、可定制性、可移植性等优点,及近年来在国内外的快速发展,使得其在嵌入式行业受到青睐。两者的结合,使得利用嵌入式Llinux系统实现图像采集[9]成为可能。本文在基于嵌入式Linux系统平台上,利用Omnivision公司的OV511为控制芯片的USB摄像头为采集模块,利用Video4Linux内核API接口函数,编写相应的应用程序,实现采集图像的实时显示,并利用JPEG压缩[8]过程,将采集的图像保存为文件格式,以备进一步处理和网络传输使用。

2 系统平台的硬件结构

本文使用的系统硬件平台采用Samsung公司的处理器S3C2410[2,6],该处理器内部集成了ARM公司的A R M 92 0 T处理器内核的3 2位微控制器,资源丰富,带独立的16KB指令Cache和16KB数据Cache,LCD控制器、RAM控制器、NAND闪存控制器、3路UART、4路DMA、4路带PWM的Timer、并行I/O口、8路10位ADC、Touch Screen接口、IIC接口、IIS接口、2个USB接口控制器、2路SPI,主频可高达203MHz。在处理器丰富的资源基础上,还进行了相关配置和扩展,平台另外配置了6 4M B的F L AS H和6 4M B 32位的SDRAM。

通过两片以太网控制器芯片AX88796扩展了两个网口,另外引出了两个HOST USB接口。在一个USB接口上外接一个摄像头,本系统采用网眼2000摄像头。另外,还接有分辨率为640*480,8寸16位TFT的LCD,带触摸功能,本系统LCD采用夏普公司LQ080V3DG01。同时,还外接有操作键盘,可方便实现不同功能间的切换。

外接摄像头网眼2000通过USB总线将采集到的图像数据送到缓冲区,然后运行图像处理程序[4,7],对缓冲区的图像数据进行处理,将其转换为LCD可显示的格式,调用mm ap()函数将数据映射到内存,而后显示于LCD上,同时可将缓冲区的图像数据经过JPEG编码后保存成JPG或BMP格式的图片文件,以备后继处理应用,键盘控制模块可实现图像数据显示或图像数据保存等功能切换。该系统的硬件结构原理框图如图1所示。

3 嵌入式Linux内核的定制及编译工具的建立

Linux具有内核[10]稳定且功能强大、支持多种硬件平台、源码完全开放、可裁剪性、内核直接提供网络支持等优点,使得L i n u x微系统非常适合嵌入式开发。Linux本身提供完整的TCP/IP协议,可非常方便的进行网络应用。在嵌入式系统中,由于硬件资源有限,需要对L i nu x内核进行嵌入式化,即通过配置内核、裁剪shell和嵌入式C库对系统进行定制,使得整个系统能够存放到容量较小的FLASH中。另外,Linux的动态模块加载,使得Linux的裁剪极为方便,高度模块化的部件使得模块添加非常容易。

整个软件系统是建立在嵌入式Linux的基础上的,基于S3C2410上的嵌入式Linux系统的定制步骤与一般的嵌入式平台的开发步骤相似,具有通用性,这里不再详述。由于采用USB摄像头进行图像数据采集,编译内核时,一定要使内核支持USB总线和OV511摄像头。OV511是一款专用的数字摄像IC到USB的接口芯片,内含数字摄像IC接口、DRAM接口、实时图像压缩引擎、USB接口、IIC接口、FIFO等功能,用于将摄取的数字视频图像直接通过USB送入S3C2410处理器进行处理,所以应该确保OV511接口芯片在Linux的正常驱动[1,3,5]。

在定制内核时,应选中:

而后编译内核,并将裁剪后的新内核通过RS232或JTAG下载到开发平台中,这样一个支持USB摄像头的嵌入式Linux系统就建成了。S3C2410平台使用的文件系统是yaffs,文件系统包括应用程序、模块、配置文件和库等,图像的采集和显示是建立在嵌入式Linux内核之上的。软件系统分为三个层,最底层为引导层采用Samsung公司的VIVI,将其修改为适合本系统的引导程序;驱动层为含摄像头驱动的Linux内核驱动;最上层为应用层,含图像采集、显示、保存及其它应用程序,整个软件系统结构图如图2所示。

通常宿主机和目标板上的处理器不同,宿主机通常为In t e l处理器,而目标板如图1所示为SA MSU NG S3C2410,所以程序需要使用针对处理器特点的编译器才能生成在相应平台上可执行的代码。GNU编译器提供这样的功能,在编译时,选择开发所需要的宿主机和目标机,从而建立开发环境。在进行嵌入式开发前的第一步工作就是把一台PC机作为宿主机开发机,并在其上安装指定的操作系统。对于嵌入式Linux,宿主机上应安装Linux系统。本系统采用arm-linux-gcc进行交叉编译,生成针对S3C2410处理器可执行的二进制代码,而后进行调试和下载。

4 基于Video4Linux的图像采集和具体实现

4.1 基于Video4Linux的图像采集

在Linux中,设备驱动程序可以看成是Linux内核与外部设备之间的接口,设备驱动程序向应用程序屏蔽了硬件实现了的细节,使得应用程序可以像操作普通文件一样来操作外部设备,可以使用和操作文件相同的系统调用接口函数来完成对硬件设备的打开、关闭、读写及执行和I/O控制操作。本系统采用Linux-2.4.18支持以OV511为控制芯片的USB摄像头,因此系统启动后,系统可自动识别USB设备,并将该设备模块加载到内核中,在设备目录下出现/dev/v4l/video0设备,可直接利用系统调用获取设备信息和数据,使得应用程序的开发非常方便[4,5,6]。

Video4Linux(简称V4L)是Linux中关于视频设备的内核驱动,它为针对视频设备的应用程序编程提供了一系列的接口函数。在嵌入式Linux的内核定制过程中,已经加入了对V4L模块及OV511设备的支持,运行Linux下的视频图像采集程序,可以通过V4L提供的编程接口(API)从OV511设备中获取图像数据,也可以运行图像保存程序,将从OV511中获取的图像数据保存成JPG或BM P格式的图像文件,以备后继开发应用。

V4L模块提供的主要API函数有:VIDIOCGCAP函数以数据结构video_capability返回视频采集设备的基本信息,包括设备名称、设备类型、信道数、最大及最小像素高度和宽度等;VIDIOCSFBUF函数使用数据结构video_buffer设置采集设备的帧缓存参数,包括缓存区大小、同时采集的帧数、偏移量等;VIDIOGWIN函数使用数据结构video_windows来设置采集窗口参数,使用参数1调用V I D I O C C A P T U R E开始视频信号采集;VIDIOCSPICT函数使用数据结构video_picture来获取和设置采集图像帧的属性,如亮度、色调和对比度等。

基于Video4Linux的视频采集程序流程图如图3所示。

下面简单介绍程序代码的关键部分。

第一部分,设备初始化:

然后调用ioctl(grab_fd,VIDIOCSYNC,&frame)函数,该函数成功返回则表示采集完成,采集到的图像数据放到以data为起始地址,长度为320*480*3的内存区域中,读取该内存中的数据可得到图像数据。

4.2 基于framebuffer的图像显示

Frame buffer设备是运在Linux控制台上的一个优秀的图形窗口,它几乎支持所有硬件,提供了统一的API接口,很好的实现了硬件无关性,它可以直接操作显存,而且还留有提供图形加速功能的接口,运行时不需要root权限。Framebuffer的设备节点是/dev/fb*,用户使用它,需要在编译内核时候选中Framebuffer,其简单的使用程序如下:

从vinfo和finfo中获取显存的起始地址、分辨率、色深等信息,而后根据相应信息计算出需要映射的显存的大小。

由此便可以直接操作大小为screensize,起始地址为fbp的内存空间,利用Video4Linux采集的图像数据映射到Framebuffer的内存区域中,便可以直接显示到LCD上了。也可将摄像头采集到的数据直接保存成JPG或B M P等格式的图像文件,以方便其它图像处理应用。

5 对图像数据进行压缩

5.1 JPEG简介及jpeglib的安装

通过上面的采集程序得到的图像数据比较大,不便于网络传输和保存,由于开发平台的硬件资源有限,所以,需对采集到的原始数据进行压缩处理,我们采用JPEG压缩[8]方式。

JPEG静止图像压缩标准是一种被广泛认可的标准,一般的操作系统和应用都支持。JPEG标准是在变换编码的基础上,综合应用了DCT和哈夫曼编码两种手段达到了很好的图像压缩效果,基于D C T的编码方法是JPEG算法的核心内容。

Jpe g函数库需要自行安装,首先下载jp eg sr c.v6 b.t a r.g z,其安装过程如下。

注意,用编译器编译连接时要带-l jpe g选项,这样生成的可执行文件才能在开发平台上运行。

5.2 JPEG压缩的具体实现

首先要编写下面函数:

filename是图像文件名,img是原始图像数据,width height是图像的宽度和高度,quality确定图像的压缩质量,gray确定图像的色彩。

部分代码:

本程序可将原始数据压缩为JPG或BMP格式的图像文件。

6 结束语

由于基于嵌入式Linux的嵌入式系的运行稳定、效率高等有优点,目前被广泛应用于各个领域,本文设计的视频图像采集和显示系统可作为稻米形态采集、安全监控、远程操作等应用。嵌入式Linux系统在图像采集及处理方面,具有开发过程简捷高效、灵活多变等优势,在粮种形态检测、监控系统、视频电话等应用领域中有广阔的发展空间。

参考文献

[1]Alessandro Rubini.Linux设备驱动程序[M].北京:中国电力出版社,2002.

[2]三恒星科技编著.ARM9原理及应用[M].北京:电子工业出版社,2008.

[3]刘淼.嵌入式系统接口设计与Linux驱动程序开发[M].北京:北京航空航天大学出版社,2006.

[4]李亚锋,欧文盛等.ARM嵌入式Linux系统开发从入门到精通[M].北京:清华大学出版社,2007.

[5]孙天泽等.嵌入式设计及Linux驱动开发指南[M].北京:电子工业出版社,2005.

[6]杜春雷.ARM体系结构与编程[M].北京:清华大学出社,2003.

[7]许宏松.Linux应用程序开发指南[M].北京:机械工业版社,2000.

[8]DAVID S.TAUBMAN.JPEG2000图像压缩基础、准和实践[M].北京:电子工业出版社,2004.

[9]阮成功,蓝兆辉.基于嵌入式微控制器的网络化智能控系统[J].微计算机信息,2005,(5):10-111.

图像显示控制 篇8

SDI接口(Serial Digital Interface)是直接通过采用数字化的方法对视频信号进行控制、处理和传输,将数字视频或者音频信号按有效行场方式通过单芯同轴电缆传输,而后将数字信号直接接入后续的处理系统[1],避免传统的模拟信号因A/D和D/A转换带来的图像细节和质量损失,也使得设备间的交互变得更加简单方便。SDI接口传输速率高、适应性强、即插即用、对环境要求不高以及应用范围广等特点[2],目前SDI已经作为国内很多战略靶场军工图像设备的一种协议标准。

目前在民用方面,SDI接口作为一种标准视频传输接口已被世界上多数视频设备厂商接受并采纳,涉足数字摄像领域、电视电影及专业的演播室等领域。世界知名的索尼、松下等公司生产的视频设备均支持SDI接口协议。

1 系统硬件结构

系统结构如图1所示,主要由Camera Link接口、千兆网接口、大容量SRAM存储器、FPGA芯片、SDI接口芯片以及SDI接口监视器等构成。这里FPGA是整个系统的核心逻辑,采用XILINX公司的V2系列XC2V4000FFG1152芯片[3],该芯片有1 152个IO引脚,4 MB的系统门单元,120个乘法器,12个数字时钟管理器,824个用户可定义IO,120×18 b的块RAM。丰富的硬件资源给输入图像的显示和增强处理提供了可靠保证。该系统的基本工作过程首先接收Camera Link接口或千兆网接口的图像数据,经过专用接口转换芯片将数据转换成TTL或者CMOS格式,传送给FPGA,在FPGA内部经过实时图像处理、协议转换,输出符合SDI接口芯片的数据,经过接口芯片的并串转换,实时输出SDI标清图像数据。

这里FPGA的主要工作原理如图2所示。在该模块中,系统上电后首先完成对SDI接口芯片工作寄存器的配置,从而完成对其工作模式的选择;然后需要完成输入图像数据接口到接口芯片的行场时钟协议转换以及数据到YCbCr格式转换,这里采用FPGA对双缓存的控制完成格式转换,本文应用画幅缩放、灰度拉伸和伪彩色处理实现图像增强处理,这在下一节做具体描述。

2 图像增强算法

2.1 灰度拉伸算法

现在很多相机都基于CameraLink接口和千兆网接口,它们的输出数据位存在8 b,10 b和14 b等多种情况,本文在系统设计时做了智能处理,通过上位机RS232串口向该系统转换模块发送一个命令信号,告知系统输入端的灰度数据位数和系统输出端的数据位数,从而使算法实现不同的灰度拉伸。由于一般的监视器只能显示8 b灰度的图像数据,SDI信号有8 b和10 b两个差别。对灰度图像做一个线性拉伸,不论前端输入图像数据是多少位,可以利用该算法将图像数据映射到8 b和10 b空间,即下面介绍的拉伸处理。这里以输入图像数据14 b为例,假设输入为10 b图像数据,其宏观概念是,将14 b数据空间线性映射到10 b空间。假设做灰度拉伸前的灰度值为Yi,则它的灰度取值范围是[0,16 383];灰度拉伸之后的灰度值为Yi′,它的取值范围为[0,1 023],则Yi和Yi′直接直接的映射关系为:

式中:Ymax为某帧图像的灰度最大值;Ymin为某帧图像的灰度最小值。

如果输出为8 b图像数据,则根据需要将14 b灰度转换到8 b灰度空间,线性映射关系为:

式中:Ymax为某帧图像的灰度最大值;Ymin为某帧图像的灰度最小值。

根据上面的公式可看出,在进行拉伸变换时,需要用到基本的乘除法运算,这在Xilinx公司FPGA内部实现起来较困难,最为常用的做法是调用FPGA内部的乘除法IP核,这样可以极大提高FPGA的工作效率。根据上面的公式,若想实现算法,还需要知道当前帧图像数据的灰度最小值和最大值。FPGA工作是以时钟为基础的,具有实时性,如果想获得当前帧的灰度最值,需要对图像数据进行缓存处理,然后二次提取最值。在程序实现上,为了简便起见,在此利用前一帧数据的灰度最大值和最小值来代替当前帧的最大值最小值。这样对当前帧遍历求取最值,然后应用到下一帧图像中去,这里认为前后帧相关性比较大,不会对算法造成很大影响。

2.2 伪彩处理

经黑白相机输入的图像数据经过协议转换处理后得到的是SDI接口视频YCbCr格式中亮度Y分量,这时将CbCr在程序里填充80h,就构成YcbCr信号,而后用于输出显示,为了增强显示效果,颜色更加能丰富人眼的视觉效果,下面给出一个算法将灰度转换为伪彩色。

实现伪彩处理,通常是把当前像素灰度值作为存储地址查找RGB伪彩码表,将码表中对应的RGB三色值用RGB转换到YcbCr彩色区间,而后输出伪彩图像。在FPGA里实现的基本方法是最大限度地利用FPGA的IP核,将RGB码表写到FPGA的内嵌RAM核里,在程序中依次遍历查找表和计算下面的公式计算出相应的CbCr值并且输出。

2.3 画幅缩放

图像的画幅缩放也被称为图像重采样,它是视频处理中的一项重要技术。在SDI显示输出模块中,由于标清SDI显示画幅分辨率是720×576,前端输入Camera Link或者其他接口的图像分辨率随机,所以必然会用到图像画幅缩放,否则,如果图像分辨率超出SDI的这个范围,就会导致显示不全,如果分辨率小于这个范围,就会导致有黑框,直接影响后续的显示效果。

目前画幅缩放的算法种类繁多,但基本方法都是插值运算方面的算法,例如最近邻插值、双线性插值以及立方卷积插值算法等,但最近邻插值算法在亮度变化比较快的图像边缘比较粗糙;立方卷积插值算法非常复杂而且运算量大,不满足实时处理条件。同前面2种插值算法比较,双线性插值算法运算量少、实时性高,适合于在FPGA内部实现[4]。

如图3所示,假设原始图像中的某点(x,y),则相邻的右侧和下方像素点位置为(x+1,y),(x,y+1),(x+1,y+1),假设它们的灰度值分别是P1,P2,P3,P4,在水平方向和垂直方向上的位移都是单位1,并假设待插入点的位置坐标为:(x+dx,y+dy)。

那么根据双线性插值算法原理得到插入点的灰度值为:

化简后得到:

从上式看出,当知道待插值点的偏移距离dx和dy后,那么该插值像素点的灰度值可根据周围的4点得到。该系统中的画幅缩放处理正是采用双线性插值算法,其在FPGA内部实现的具体功能如框图4所示,主要由数据缓存单元、双线性插值单元、插值系数控制单元组成[4]。

在实现图像缩放算法以前,首要算出图像的缩放因子k。这里以一行图像为例,以单位长度“1”表示相邻2个像素的距离,图像缩放前的分辨率为A×1,图像缩放后的分辨率为B×1,则缩放前后的图像的像素缩放因子k=B A。例如,分辨率为640×512的图像缩放为720×576的图像,则在水平方向上缩放因子k=1.25;垂直方向上的缩放因子k=1.125;根据不同的情况,在水平、垂直方向上的缩放比例因子不同。

根据图4和插值的运算公式,每经过一个像素时钟,插值系数dx,dy需要实时提供给插值运算模块,这就要求FPGA时序同步,并且FPGA各个功能模块能够有效配合。

3 实验结果及分析

将硬件系统和相机连接,该相机基本参数是320×256分辨率,14 b像素深度,帧频25/50可调。通过PC机的RS 232串口连接转一个转换设备,使之满足RS 422差分协议,以便发送命令给硬件系统和返回硬件系统状态。

FPGA程序采用模块化方式,分为图像采集输出模块、双缓存控制模块、通信控制模块、伪彩处理模块、灰度拉伸模块、画幅缩放模块和SDI时序生成模块,其中伪彩处理模块、灰度拉伸模块和画幅缩放模块通过RS 422接口发送不同的指令给FPGA,就会触发相应的模块工作,具体FPGA初始化过程中软件工作流程如图5所示。

SDI输出显示采用JVC公司专用的SDI监视器,和电路板之间用75Ω的同轴电缆连接,系统工作后测试了相应功能,并将图像显示在监视器上,图6是显示的未通过任何增强处理的7~14位图像。

图7是显示的经过灰度拉伸处理的图像,将14位拉伸成8位。

图8是经过拉伸处理后再经过伪彩色增强处理的图像。图9是经过伪彩色增强处理的拉伸图像再进行画幅拉伸使之全屏显示。

4 结语

本文设计了一种基于SDI接口输出的图像显示系统,在FPGA里面封装了灰度拉伸、伪彩色处理以及画幅拉伸增强算法函数,几种算法可以单独调用,也可以串行一块工作。实验结果表明,该系统可以很稳定地将Camera Link接口或者千兆网口输入图像经协议转换为标清SDI输出,并可以把灰度很低的图像进行对比度增强,极大增强了人眼的视觉效果,由于SDI转换协议以及各个增强算法都在FPGA内部实现,完全可以达到资源优化利用和实时性要求。

摘要:为了改善实时图像输出质量,研究基于SDI接口的增强显示系统软硬件设计。利用模块化思想提出一个基于SDI接口输出的硬件架构,以FPGA作为处理核心,通过2片SRAM的双缓存结构实现图像的乒乓控制,使输出图像满足SDI接口协议。在此提出了灰度拉伸、伪彩色处理以及画幅缩放3种实时图像增强算法。通过实验测试,系统工作稳定、实时性好,加入增强算法后图像对比度增强,极大增强了人眼的视觉效果。

关键词:SDI,模块化,图像增强算法,伪彩,画幅缩放

参考文献

[1]王明臣,姜秀华,张永辉.数字电视与高清晰度电视[M].北京:中国广播电视出版社,2002.

[2]Anon.Serial digital interface[EB/OL].[2008-09-22].http://www.en.wikipedia.org/wiki.

[3]Xilinx,Inc.Virtex-II Platform FPGAs datasheet[R].USA:Xilinx,Inc.,2003.

[4]祈超.SDI视频接口转换与采集系统的设计与实现[D].长春:中国科学院长春光学精密机械与物理研究所,2010.

[5]徐正先.浅谈SDI信号及其测试[J].视听界:广播电视技术,2013(1):32-34.

图像显示控制 篇9

近年来, 国内很多学者进行了烤烟烟叶自动分级方面的研究, 其均对烟叶样本图像进行处理和特征提取, 再用统计模式识别、神经网络模式识别等方法进行分级处理。然而相关研究均没有涉及图像采集的硬件平台设计。为了实现烟叶自动分级的技术方案, 必须首先解决的问题是如何获得稳定的烟叶图像, 保证图像能够清晰、准确和稳定地反映视觉信息。

韩力群等[1]研发了一种光机电一体化的烤烟烟叶图像采集系统, 给出该系统的主要功能和设计方案。陆秋琰等[2]研制了一种用于牛肉自动分级机器视觉系统的图像采集照明装置;程文波等研制了一种采用STC89C516和K9F2808UOC来实现基于机器视觉的图像采集系统改进存储算法, 可以实现8 kbit/s的无错采集速率, 成本低廉实用。曾欣[3]分析了目前常用的各种图像采集方法的利弊, 指出设计高速图像采集系统的关键在于实现大容量的高速缓冲区和独立的数据采集总线。利用XPLD芯片实现定制的DDR控制器, 再配合大容量的DDR SDRAM组成的大容量的数据缓存。该结构实现了廉价的高速采集系统, 并且成功地应用于数字显微镜设备上。为了实现烟叶自动分级的技术方案, 该文研发了一种拍摄反射和透射图像并实时显示物距的图像拍摄装置, 为实现烤烟烟叶智能分级提供技术基础。

1 图像采集装置的功能设计

为保证图像清晰准确地反映视觉信息, 必须首先解决的问题是如何获得稳定的烟叶图像。因此, 烟叶图像拍摄与物距显示试验装置应可以采集多种图像, 包括反射和透射图像;图像采集过程中还可以通过测量装置实时显示物距的大小;图像采集过程应实现自动化, 操作应便捷, 工作需稳定、可靠。

装置的具体操作如下:接通灯源按钮, 将被采集的目标放在载物木板凹槽内的磨砂玻璃上。采集图像时, 通过测量装置显示物距大小, 调节到合适的物距后, 使用图像采集装置通过放置在上支架上的灯架座上的圆孔进行拍照, 从而获取被采集的目标的图像。

2 图像采集装置的详细设计

2.1 总体结构设计

根据前述烟叶图像拍摄与物距显示试验装置的功能设计和具体操作要求, 研发的装置采用长、宽、高为1 500 mm×1 000 mm×1 700 mm的框架结构, 其中高度可调节, 可以下降到1 200 mm。该装置主要由支架、载物板、标准光源等组成, 装置总体结构如图1所示。

2.2 照明光源的选择

要保证装置采集到清晰准确的图像, 并真实地反映视觉信息, 需要选择合适的照明方案。

目前的机器视觉系统最常见的光源有卤素灯、荧光灯和LED光源。本研究中要保证光源的光通量恒定, 查阅了相关资料和走访烟叶收购站后发现, 飞利浦对色管Master TL-D90De Luxe荧光灯满足实验要求。因此, 本试验选择使用多个荧光灯组成线阵光源, 增强发光效果, 改善光照均匀度。

飞利浦对色管Master TL-D90De Luxe荧光灯特点:一是TLD90灯管采用多谱宽带荧光粉多层涂敷, 显色性能最佳 (Ra≥95) , 基本接近天然光。二是有多种色温选择可以产生特殊的照明效果。三是寿命可较长, 一般可以超过16 000 h。适用于各种对于灯光要求较高的场所。飞利浦对色管Master TL-D90De Luxe荧光灯的技术性能如表1所示。

注:1为下支架, 2为固定下灯架座螺母, 3为下灯架座, 4为载物木板, 5为磨砂玻璃, 6为上支架, 7为上灯架座, 8为上部照明光源, 9为下部照明光源, 10为测量系统。

2.3 其他材料选择

照明光源选择飞利浦对色管Master TL-D90De Luxe荧光灯, 该装置还包括了支架、载物木板和磨砂玻璃等结构, 各结构材料选择如下: (1) 支架:支架选用铝合金型材。选用6系列的铝镁硅合金, 型号为6063。6063铝合金广泛用于建筑铝门窗、幕墙的框架。 (2) 载物木板。载物木板选用MR胶杨木芯建筑模三合板, 厚度是10 mm, 规格尺寸为10 mm×1 220 mm×2 440 mm。 (3) 磨砂玻璃。磨砂玻璃又称毛玻璃、暗玻璃。是用普通平板玻璃经机械喷砂、手工研磨或氢氟酸溶蚀等方法将表面处理成均匀毛面制成。由于表面粗糙, 使光线产生漫射, 透光而不透视, 它可以使室内光线柔和而不刺目。常用于需要隐蔽的浴室、卫生间、办公室的门窗及隔断, 使用时应将毛面向窗外。本试验中选用厚度为4 mm的普通磨砂玻璃。 (4) 上、下灯架座。上、下灯架座选择和载物木板相同的材料。 (5) 固定螺母。螺母选用Ⅰ型六角螺母, 标准为GB/T6170-2000, 规格为M10。

3 物距测量显示装置的设计

3.1 容栅测量原理

3.1.1 容栅传感器定义。

容栅传感器是一类变面积原理的电容传感器, 它的电极不止1对, 电极排列呈梳状, 故称为容栅传感器。具有三大优点:一是由多个电极并联, 灵敏度较高。二是大极距内有多个发射电极, 有利于小位移测量;而且在定尺上有多个大电极, 便于大位移测量。三是由于反射电极的电容耦合和电荷传递作用, 传感器的动尺与测量线路之间没有活动的引线。

3.1.2 容栅传感器的基本类型及工作原理。

容栅传感器可实现直线位移和角位移的测量, 根据结构形式, 容栅传感器可分为3类[1]: (1) 直线形容栅传感器 (长容栅) 。整个传感器由2组条状电极群相对放置组成, 一组为动栅, 另一组为定栅;动栅和定栅通过静电耦合来实现其位移的测量。 (2) 圆形容栅传感器 (片状圆容栅) 。绝缘材料基底上有辐射状电极群, 2个同轴圆盘上对应的电极群的电容耦合情况反映了2个圆盘相对旋转的角度。 (3) 筒形容栅传感器 (柱状圆容栅) 。由2个套在一起的同轴圆筒组成, 电极镀在圆筒上, 实现长度的测量。

根据本试验要求选用直线形容栅传感器 (长容栅) , 长容栅传感器由定尺和动尺组成。在定栅和动栅的相对面上有金属栅状极片。若将定栅和动栅的栅极面相对放置, 其间充填电介质, 则形成并联的电容 (即容栅) 。其最大电容量为:

式 (1) 中, n为动尺栅极片数;ε为极板间介质的介电常数, δ为极板间的距离;a、b分别为栅极片长度和宽度。最小电容量的理论值为0, 实际上为C0, C0称为容栅固有电容。当动尺与定尺平行方向上不停移动时, 电容的相对遮盖长度a将发生周期性变化, 电容量值也相应发生周期性变化。经电路处理后, 即可测得线性位移值。

3.1.3 容栅传感器的芯片内部结构。

容栅传感器由控制逻辑电路、数据处理电路、LCD数码显示驱动、8路驱动输出, 反射信号放大及信号处理电路和晶振等组成 (图2) 。晶振的振动信号通过分频器分频后送到8路驱动电路进行相移, 然后形成8路驱动信号, 每路信号之间的相位相差, 这8路信号送到芯片的5~12引脚, 再加到动栅板, 反射回来的信号通过17引脚进入信号放大电路, 再把放大后的信号与分频器输出信号进行信号处理和数据处理, 控制逻辑的作用是进行清零和数据输出等。LCD数码驱动器把位移数据变成1/2LCD驱动信号, 直接与液晶屏相连, 显示位移量。

3.2 物距测量显示装置的结构设计

测量显示装置主要由敷设在下支架上的固定电容栅和随上支架运动的可动电容栅组成的容栅传感器构成, 由于定栅是等间隔交叉配置的2组极栅, 该极栅是由多个差动式变面积型电容传感器并联组成的。测量装置包括液晶显示器、开关按钮、清零按钮、引导轮、旋紧按钮等组成, 结构如图3所示。

注:1为液晶显示器, 2为开关按钮, 3为清零按钮, 4为引导轮, 5为电池, 6为旋紧按钮。

4 结论

该文基于烤烟烟叶图像的采集研发图像拍摄装置, 该装置选用多个荧光灯组成线阵光源, 可增强发光效果, 光照均匀度受试验条件的影响较小, 可有效改善光照的均匀性。测量装置以容栅为主要元件的测量系统数码显示物距的大小, 能够根据不同的场合精确调节物距的大小。拍摄装置可以同时采集目标的反射和透射图像, 反射图像和透射图像的物距大小通过测量装置显示。经过试验, 设备的稳定性、实用性较高, 为实现烤烟烟叶自动分级提供了技术支持。

摘要:为了拍摄烤烟烟叶反射和透射图像并实时显示物距大小, 研发了烟叶图像拍摄与物距显示试验装置, 该装置包括图像采集装置和物距测量显示装置。图像采集装置由支架、载物板、标准光源等组成, 构成图像的采集平台, 物距测量显示装置由容栅传感器 (KX/MS-50) 及数码显示系统构成, 用于显示拍摄物距的大小。拍摄装置可以同时采集烟叶的反射和透射图像, 反射图像和透射图像的物距大小通过测量系统显示。该文给出该装置的主要功能和设计方案, 并对装置中的各子系统的设计方法和实现技术进行了介绍。

上一篇:浅埋暗挖隧道下一篇:风廓线产品