2024年5月3日发(作者:)

ELECTRONICS WORLD

探索与观察

本文设计的新压缩算法的压缩格式通过编码的首个字节,能够

快速对编码类型进行准确判定,在此基础上对编码进行分类处理,

由此可使解压速度获得大幅度提升。新压缩算法压缩格式的解析步

骤如下:

Step1:对待压缩数据的首个字节Ox84进行读取,按编码规格,

新生成字符的数量为4个字节,根据A,A,A,B的形式直接输出;

Step2:对后续数据的首个字节Ox10进行读取,按格式对编码进

行解析后可得匹配信息的长度为4,依据输出数据则可获得解压结

果,即A,A,A,B;

Step3:继续读取待解压数据的首个字节Ox82,由解压流程可

知,之后的所有数据均为未压缩的数据,新字符的数量为2个字节,

可按C,D直接输出;

Step4:对之后数据的首个字节Ox82进行读取,获得新字符

的数量为2个字节,可按E,F直接输出;最终得到的解压结果为

AAABCDAAAEF,该结果与压缩前的原始数据完全一致,数据解压成

功。

3.3 解压输出

当数据经过压缩算法压缩之后,需要按照匹配长度及距离,对原

始的字符进行输出,为提升程序的可靠性,必须杜绝数据溢出问题。

所以,数据解压时,会在写操作中完成安全检查。为确保检测结果的

准确性,在解压程序设计中,引入了边界检测的方法,每次对内存进

行操作的过程中,均会对边界进行判定。同时,设计的解压程序可以

确保对损坏文件进行解析时,不会发生数据溢出的情况。

3.4 新算法测试

为进一步验证本文设计的新压缩算法的性能和功能,基于

Windows系统搭建测试平台。鉴于本文设计的新算法主要是为了实现

快速解压缩,所以将性能测试的重点放在解压速度与常规LZO算法的

比较上。而新算法的功能测试主要是算法实现的正确性。

3.4.1 功能测试

利用测试程序对新算法中的搜索匹配、压缩格式及解压输出三

个模块进行测试,结果表明,三个模块的功能全部正确。

3.4.2 性能测试

当功能测试完成后,分别对新算法的压缩率和解压速度与常规

LZO算法进行比较,测试结果显示,新算法的压缩率略有提升,提升

幅度为4.9%;解压速度提升15%。

4 结论

综上所述,对数据进行无损压缩的过程中,需要借助相关的压

缩算法,目前常用的有统计算法和字典算法,由于后者的压缩率更

高,所以应用范围更广。为提高解压速度,本文依托字典算法中的

LZO算法,设计了一种新的压缩算法,该算法与常规的LZO压缩算法

相比,解压速度可提升15%左右,达到了快速解压的效果。

参考:董骁,姜雨生,李娜,基于潜油电泵监测数据的ILZW压

缩算法的研究:福建电脑,2018(4):130-131;任秀江,王磊,周建

毅,谢向辉,面向网络通信的高实时压缩引擎设计:计算机工程与

科学,2018(4):82-83;陈勇,黄茹楠,刘青,李建坡,李鑫,基于

北斗通信的工业过程数据压缩方法:电子技术应用,2017(10):142-

143;王松,面向快速解压应用的无损压缩算法研究与实现:电子科

技大学,2017。

作者简介:吕炳赟(1983—),男,河南南阳人,杭州电子科技大

学工学硕士,现任职于浙江大华技术股份有限公司,研究方向:集

成电路设计。

DOI:10.19353/.2019.04.002

基于全景拼接技术的药瓶标签图像采集方法研究

沈阳工业大学信息科学与工程学院  刘一鸣  车新生

本文设计了一种基于全景拼接技术的柱面药瓶标签信息采集系

统,该系统包括信息采集装置,图像校正算法和图像拼接算法,硬

件以ARM核心板、图像传感器、步进电机和以太网接口搭建采集装

置;软件采用柱面反投影算法实现柱面药瓶标签平面化,基于尺度

不变特征SIFT算法将平面化的柱面标签图像进行拼接操作。本文实

验完成了1600*1200像素的单一传感器,对1600*2600像素药瓶标签

图像的采集,通过以太网口稳定传输至上位机,在MATLAB环境下实

现图像拼接操作。

注射类药品绝大部分都存放在柱面药瓶中,在医院,医护人员

使用药品,需要多次核对药瓶标签信息,很多医院是“三查七对操

作”(李广波,王存民,戚岳俊.静脉输液安全风险防范探讨:临床合

理用药杂志,2010,14:038)。现阶段这种重复性的工作是通过医护

人员人工完成的,在长时间的重复性操作过程中很容易出现失误,

而这种失误会严重影响治疗效果,甚至是危及病人的生命。由此可

见,研究一种药瓶标签自动化识别的装置就显得尤为必要。

本文提出了一种基于全景拼接技术的药瓶标签图像采集方法,

使用图像传感器采集药瓶标签图像,通过以太网口将采集的图像数

据传输至上位机,然后对药瓶标签进行校正和拼接操作,形成完整

的平面药瓶标签图像。

1 药瓶标签采集装置和采集方法

1.1 药瓶标签采集装置

本文的图像采集装置由ARM开发板、图像传感器和步进电机来

组成,ARM芯片采用意法半导体生产的STM32F407ZGT6,该芯片具有

192K SRAM,主频高达168M,并且带有DCMI接口,可以很方便的连

接图像传感器;图像传感器选用OV2640,OV2640自带嵌入式微处理

器,可以输出JPG格式图像数据,所以它很适合在网络摄像头的应

用中使用。

1.2 药瓶图像采集方法

考虑到装置的便携性和成本问题,本系统通过图像传感器配

合步进电机旋转达到多相机系统采集的效果。具体采集方法为:将

药瓶固定在在步进电机的旋转台面上,上位机通过以太网口向ARM

板发送开始采集图像指令,ARM板将图片数据通过以太网口将数据

6

ELECTRONICS WORLD

探索与观察

打包传输至上位机,然后步进电机旋转固定角度,待上位机对图片

解析完成后,通知下位机开始下一次拍照。以此类推,重复上述操

作,直到步进电机带动药瓶旋转一周后,完整的曲面柱体药瓶标签

图像采集结束。

2 图像处理算法设计

上位机对采集的图像进行图像处理主要包括两部分,一是柱面

图像平面化,二是图像拼接操作。其中柱面图像平面化就是把柱面

图像转换到柱面对应的切平面上(赵敏.基于图像的柱面全景图生

成算法研究:贵州大学计算机科学与技术学院,2006),本文采用柱

面反投影算法实现曲面标签的平面化操作。图像拼接操作就是把平

面化的图像进行拼接,形成完整的药瓶标签图像,本文采用基于尺

度不变性特征的图像拼接拼接算法。

2.1 柱面反投影算法

由于药瓶图像为柱面图像,将柱面图像沿母线方向展开,其柱

面切平面只在x方向上变化,y方向上不变,据此,建立理想模型,

图1所示为柱面标签投影到切平面的示意图,其中曲面A'B'C'D'为

柱面图像,平面ABCD即为校正后的切平面图像。

图1 柱面标签投影切平面示意图

图2 x方向的对应关系

柱面标签投影到切平面方向x方向发生变化,其对应关系如图2

所示。

其中焦距为ON=R,A'B'为半圆弧,曲面上任意一点P'投影到其

切平面的P点,OP与ON的夹角是θ,柱面标签投影到切平面x方向映

射关系式如公式2.1所示:

      (2.1)

其中x'为P'点对应的弧长,x为投影后切平面x方向的长度。

柱面y方向上与切平面y方向大小相等,因此:

        (2.2)

其中y'为柱面图像上的纵坐标,y为切平面图像的纵坐标。

由公式(2.1)和公式(2.2)推出柱面反投影公式如(2.3)所示:

        (2.3)

2.2 图像拼接算法

为了得到一幅完整的药瓶标签图像,需要对一组互相有重叠部

分的图像进行拼接,其中拼接过程包括:获取图像,特征点的提取

与匹配,图像配准,图像融合(许会,刘慧芳。一种曲面药瓶标签

检验方法的关键技术:沈阳工业大学学报,2017)。本文采用SIFT

算法提取特征点,通过图像配准技术计算出两幅拼接图像的重合区

域。图像融合即对待拼接的两幅图片进行融合操作,本文采用加权

平滑算法。

3 试验及测试

本文采集药瓶标签图像采用JPG格式,分辨率为UXGA模式

(1600*1200),保证了图像的清晰度。以注射用哌拉西林钠他唑

巴坦钠药品为例,采集效果图如图3所示:

图3 采集效果图

根据本文的柱面反投影算法和图像拼接算法,使用MATLAB软件

编程实现柱面标签的平面化和拼接操作,上述图片平面化后拼接效

果图如图4所示:

图4 五幅图片拼接效果图

实验结果表明,上述方法可以实现柱面标签的拼接操作,但

是拼接处出现重影,这部分需要在后续的工作中完善,另外,由于

柱面的不同区域感光程度不同,导致拼接后的标签的拼接亮度不均

匀,现初步设想通过改进光源系统,对柱状物体感光较弱的部分进

行补光操作,从而保证标签图片感光均匀,改善拼接效果。

4 结论

通过对柱状标签进行分析,和对药瓶标签采集实验,说明本文

采用的柱面反投影算法,基于SIFT的图像拼接算法,可以得到完整

的药瓶标签图像.实验结果用1600*1200像素的单一传感器,实现

了1600*2600像素药瓶标签图像的采集。为后续的图像识别工作打

下了很好的基础。

7