计算机系统应用  2018, Vol. 27 Issue (9): 52-60   PDF    
基于Qt的自动化分装热室控制界面设计
张少伟, 葛斌, 张磊, 魏凌轩, 伍进平     
上海理工大学 医疗器械与食品学院, 上海 200093
摘要:PET影像检查中常常利用示踪剂进行造影. 目前示踪剂的分装方法主要是传统人工稀释分装, 存在着分装效率不高, 对人体辐射剂量大等问题. 为了解决上述问题, 研究者对自动分装系统进行了一定的研究, 但是其控制界面功能单一, 不能实时监控分装工作情况. 因此本文设计了一款基于Qt的自动化分装热室控制界面. 该界面能接收通过网络传输的远端摄像头数据, 对分装热室内部情况进行实时的显示, 应用亮度均衡算法对图像进行处理. 并使用串口通讯协议通过蓝牙与STM32F429开发板进行连接, 设计相应的功能控件对开发板进行远程操作, 配合分装机械系统实现对分装热室自动化控制. 经试验测试表明, 本界面实现了人机交互的友好界面功能, 很好的提高了监控画质和系统响应速度, 相比常用的监控软件MiniVCap和VCam, 视频延时和CPU占有率都有明显的降低, 并能稳定地与STM32F429进行连接, 在性能和指标上达到了设计需要.
关键词: 分装热室    Qt    视频监控    自动化控制    亮度均衡算法    
Design of Automatic Dispensing Hot Cells Control Interface Based on Qt
ZHANG Shao-Wei, GE Bin, ZHANG Lei, WEI Ling-Xuan, WU Jin-Ping     
School of Medical Instrument and Food Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China
Abstract: Radionuclide imaging agent is necessary for PET/CT imaging. At present, the dispensing method of radionuclide imaging agent is mainly traditional manual dilution dispensing, so there are problems such as low efficiency of dispensing, large dose of radiation to human body, and so on. In order to solve the above problems, the researchers have worked on the automatic dispensing system, but the function of the control interface is single, and it cannot monitor the dispensing work in real time. So this study designed an automated Dispensing Hot Cells (DHC) control interface based on Qt. This interface can receive the data through the network transmission of remote cameras to realize real-time video display of the internal situation of the DHC and used the brightness equalization algorithm to process the image. And the interface uses the serial port protocol to connect the STM32F429 demo board, designed the corresponding functional controls to operate the demo board, realizing the automation control of DHC with the dispensing mechanical system. The verification shows that, this interface realizes the friendly interface function of human-machine interaction. It improves the quality of monitoring and the response speed of the system. Compared with the commonly used monitoring software MiniVCap and VCam, the video delay and the CPU occupancy rate have been significantly reduced, can be stably connected with STM32F429, and meet the design requirements in terms of performance and indexes.
Key words: dispensing hot cells     Qt     video monitoring     automation control     brightness equalization algorithm    

正电子发射计算机断层显像(Positron Emission computed Tomography, PET)是一种进行功能代谢显像的分子影像学设备. PET检查采用正电子核素作为示踪剂, 通过病灶部位对示踪剂的摄取了解病灶功能代谢状态, 从而对疾病作出正确诊断[1]. 由于示踪剂具有很强的放射性, 而且要根据病人病情确定不同的剂量, 所以需要在分装热室内对其进行分装. 目前示踪剂的分装方法主要是传统人工稀释分装[2], 即操作人员需要戴着防辐射手套伸入分装热室内部进行操作, 并透过观察分装仪的工作状态. 如果长时间进行操作, 会对操作人员造成辐射性损伤, 轻者可以导致失眠、掉发以及皮肤溃疡, 严重者甚至可以导致癌变[3]. 此外, 目前很多医院是采用先取样分装、再稀释的方法, 患者需要有几种不同的剂量, 就需要进行几次分装, 这使操作过程复杂, 生产效率低.

一般情况下, 可以通过以下三种办法减少辐射: (1) 时间防护, 缩短受照时间. (2) 距离防护, 增大与辐射源的距离. (3) 屏蔽防护, 人与源之间设置防护屏障, 例如铅板, 钢板或水泥墙屏蔽, 保障安全[4]. 自动分装能代替手动分装实现以上三种办法的防护. 自动分装是指在分装热室中, 通过电机带动机构实现对药品的抓取、安装定位、分装药液以及放回钨罐等功能, 能够替代医护人员进行分装操作, 这样可以有效减少医护人员所受到辐射剂量, 并提高了稀释分装的生产效率. 而自动化分装热室上位机界面是实时监控分装热室工作状态, 并能够实现对机构运行调节的人机交互控制中枢, 是正确处理监控信号、保障自动化分装热室安全高效运行的重要基础. 因此, 开展自动化分装热室人机界面的研究对于提升人机效能、保障机构稳定运行具有重要意义[5].

人机界面研究是人机系统安全运行的重要环节, 但是分装热室的发展较晚, 目前对于自动化分装界面的研究仍处于起步阶段. 肖蓉川等设计一种稀释分装系统, 能够实现部分自动化分装过程, 缺点是结构简单, 自动化程度不高, 且控制界面功能单一, 不能实时监控分装工作情况[6]. 陈守强等设计一种全隔离防护自动稀释分装系统, 界面图标较小, 容易导致误操作, 而且没有保存全部病人数据等功能[7].

因此, 本文基于Qt技术基础上, 结合流媒体技术和嵌入式技术, 设计了基于Qt的自动化分装热室控制界面. 该界面接收通过网络传输的远端摄像头信号, 进行实时的视频显示, 采用RGB-HSI空间亮度均衡算法对图像进行亮度均衡处理. 并使用串口通讯协议通过蓝牙与STM32F429开发板进行连接, 设计相应的功能控件对开发板进行远程操作, 控制机械升降系统和机械手的运行, 实现分装热室核素剂分装的自动化控制.

1 系统开发环境及系统架构

图形用户界面(Graphical User Interface, GUI), 又称图形用户接口, 是指采用图形方式显示的计算机操作用户界面[8]. 目前, 人机GUI界面大多都是应用微软基础类库(Microsoft Foundation Classes, MFC)进行制作, 但大量的Windows API和消息机制使得其较难理解, 而且模板设定了固定的结构, 不方便进行编程和维护[9]. Qt最大的不同就在语法结构简单清晰, 面向对象的特性体现的比MFC明显[10]. Qt模块之间相互独立, 并为用户提供了良好的封装库, 特别是使用信号/槽机制来取代回调函数, 使用起来非常方便[11]. 因此, 本系统基于Qt技术开发软件, 具有易维护、方便扩展及开发灵活等特点. 系统的软件架构如图1.

图 1 软件架构图

图1所示, 自动化分装热室控制界面主要分为4个模块: (1) 登录界面模块: 在使用软件之间进行身份验证, 能够保障病人信息与操作的安全性; (2) 病人信息设置模块: 将每位病人的基本信息和使用剂量存储起来, 方便以后进行查找; (3) 视频监控模块: 实现视频监控的实时显示. 包括进行视频采集, 通过网络传递到Qt界面, 界面接收视频信号, 进行实时的显示; (4) 下位机串口通信模块: 实现Qt界面对机械系统控制. 包括界面与STM32进行蓝牙连接, 控制机械升降系统和机械手的运行, 停止与复位, 实现自动化控制.

2 系统总体设计 2.1 登录界面模块

登录模块的主要功能是帮助操作员可以正确登录到自动化分装热室控制软件的主界面当中. 打开软件后, 系统自动弹出登录界面, 在用户输入正确用户名和密码后, 即可进入主界面, 具有控制用户权限、保护操作安全的作用. 软件通过调用MYSQL数据库来存储用户名和密码, 登录时界面会将登录信息发送到数据库中进行验证, 数据库返回验证结果. 用户也可以在登陆后的主界面中进行用户名和密码的修改, 实现其个性化操作. 登录界面如图2所示.

图 2 登录界面

2.2 病人信息设置模块

参数设置模块用于录入病人的相关信息, 并可以通过病人体重查询到病人所需要注射的合适剂量. 病人的信息设置包括病人病历号、姓名、性别、年龄、体重、注射剂量以及入院时间等信息. 病人的相关信息设置好以后可以保存在MYSQL数据库中. 病人信息设置窗口如图3所示.

图 3 病人信息设置窗口

2.3 视频监控模块

视频监控是本界面设计比较重要的一环, 设置监控后, 工作人员可以随时查看分离热室机械手以及分装仪的工作状态, 方便进行必要的操作, 保证系统的运行安全.

模块采用STM32F429微处理器芯片为核心的开发板作为硬件平台, PC端操作系统选用Windows10操作系统, 采集端使用的摄像头是WX151HD摄像头, 该摄像头支持输出最大为100万像素的图像(1280×720分辨率), 支持使用VGA时序输出图像数据. 由于需要对视频信号进行无线传输, 需要在视频采集端搭建一个简易通用性好的视频网络服务器, 这里使用了开源软件Mjpg-streamer, 能从摄像头采集图像, 然后将图像以流的形式通过IP网络传输到Qt所设计的界面上[12].

2.3.1 建立ARM交叉编译工具链

交叉开发环境是嵌入式应用软件开发时一个显著特点. 为了能够让软件Mjpg-streamer在STM32F429上运行, 需要交叉编译器将高级计算机语言编写的源程序翻译成微处理芯片运行的汇编语言. 宿主机使用的是Red Hat Enterprise Linux 6.3, 建立编译环境后, 在Mjpg-streamer源码目录中, 把所有Makefile使用arm-linux-gcc交叉编译器进行编译, 生成各部分组件. 然后将生成的组件移植到开发板中.

2.3.2 视频监控模块程序设计

为了能让Qt界面能显示摄像头的图像, 需要在Qt界面文件添加一个QLabel标签类, 重命名为display, 用来显示从摄像头采集到的图像. 在多媒体中, Qt5常用的是QtMultimedia模块, 在模块中有很多关于多媒体有关的类, 显示摄像头图像主要用到了QCamera类和QCameraViewfinder类, QCamera类主要用于接口相应相机设备, QCameraViewfinder类是用来将采集到的信号显示在建立的QLabel类中, 称为取景器. QCamera类有7种方法, 本系统主要用到setPort函数设置摄像头设备名, stop函数完成停止摄像头的资源释放以及接收到数据后需要到paintEvent函数中实现重绘[13]. 摄像头采集视频数据时, 会特别占用主线程的资源, 影响界面的运行, 因此将QCamera类继承QThread类, 并调用start()函数, 采用多线程来处理采集到的信息.

当启动Qt界面后, 按下“打开摄像头”按键时, 触发与之对应的captureImage()函数, 函数创建camera对象, 执行start函数后摄像头会启动一个线程, 这个线程会执行函数run中的内容. 这样, 视频监控的功能就能实现了.

2.3.3 TCP客户端程序设计

由于服务器使用的是TCP协议来传输图像数据的, 所以在Qt上也需要建立网络连接和数据传输. QT自有的QTcpSocket类可以用来实现TCP客户端[14]. QTcpSocket通过父类QAbstractSocket继承了QIODevice. 在QThread类的start()函数的子函数run()中, 初始化一个TCP服务器, 调用connectToHost连接服务器, 然后调用waitForConnected判断是否连接成功, 使用bytesAvailable()函数来判断是否有数据可读, 并通过函数的返回值确定一帧多少数据需要读[10]. 所有程序写好后, 对程序进行编译运行. 电脑和开发板连接好网线, 在编译好的Qt界面里输入IP地址和端口号, 点击“网络连接“按钮, 来自摄像头的监控画面就能够在Qt界面中显示出来. 图4为自动化分装热室控制界面.

图 4 自动化分装热室控制界面

2.4 下位机通信模块

在分装热室的自动化控制中, 需要将装有空药瓶的钨合金药罐通过机械升降系统升至指定高度, 然后将药罐盖打开, 机械手取出里面的空药瓶, 放在分装仪下进行核素剂分装, 待分装仪分装好以后, 将装满核素剂的药瓶放回药罐中, 药罐盖好, 最后升降系统降落到初始位置, 这样就完成了核素剂的整个分装过程. 使用伺服电机和步进电机控制整个系统, 系统装有行程开关, 系统上电以后可以按照规定的程序进行运转. 因此, 在上位机操作界面上只需控制整个系统的运行、停止、复位以及其他辅助功能. 图5为自动化分装热室结构示意图.

2.4.1 HC-05蓝牙模块以及与STM32的连接

为了实现其控制, 需要将上位机通过串口与STM32进行连接, Qt界面需要设计控制按钮, 以及运行状态反馈显示, 通过给STM32发送指令, 从而控制分装热室自动化的运行状态. 蓝牙作为一种短距离的无线通讯技术, 只要在有效范围内, 可以穿透不同的物质, 不限角度进行设备间的互联, 方便性大大增强, 具有效率高、准确性好等特点[15]. 因此, 本文选用蓝牙HC-05模块与STM32进行连接, 免去了传统串口线的束缚, 增加了系统的实用性.

图 5 自动化分装热室结构示意图

HC-05具有三种工作模式: 主(Master)、从(Slave)和回环(Loopback), 拥有十分宽泛的可调范围. 它与嵌入式设备(STM32)连接时, 模块兼容性非常好[16]. HC-05拥有USART(同步/异步收发器)接口和射频输出, 与STM32能够直接连接, 不需要转换电路. 用户通过USART发动AT指令并通过射频单元发送出去. 连接时, 蓝牙模块的接收端(RXD)与STM32的发送端(TXD)相连接, 蓝牙模块的发送端(TXD)与STM32的接收端(RXD)相连接. 图6为STM32与HC-05连接电路图.

2.4.2 STM32的串口操作

电路接好以后, 需要对单片机进行程序烧写才能实现串口通信, 对STM32的串口操作步骤如下:

(1)打开GIPO的时钟使能和USART的时钟使能;

(2)设置串口IO的IO口模式(输入是模拟输入, 输出为复用推挽输出);

(3)初始化USART(包括设置波特率、数据长度、停止位、校验位等);

(4)进行中断接收, 设置NVIC并打开中断使能(设置它的中断优先级).

本系统使用的是USART1, 所以采用USART复用I/O口PA9作为串口发送引脚(TXD), PA10作为串口接收引脚(TXD), 并对两个引脚GPIO的配置. 在初始化USART1中, 需要设置波特率为9600, 8位数据位, 无校验位, 1位停止位. 采用中断来接收和发送数据, 而本文要使用 USART1 的中断函数叫做: void USART1_IRQHandler (void). 在函数里使用USART两个中断UASRT_IT_RXNE(接收缓存空中断)和USART_IT_TXE(发送缓存空中断), 一个设备的所有中断包含在一个中断服务中, 因此使用USART_GetITStatus()来确定是哪一个中断. 确定中断类型后, 采用USART_SendDate()发送数据, USART_ReceiveDate()接收数据, 最后使用USART_GetITStatus()函数获取中断状态标志, 来确定数据是否发完, 将编辑好的程序进行编译并进行烧写.

图 6 STM32与HC-05电路图

2.4.3 Qt界面串口协议的实现

在Qt控制界面的设计上, 为了能够与STM32进行串口通信, 需要使用QtSerialPort模块, 该类继承于QIODevice类, 提供操作串口所需要的变量和函数. 当前的QtSerialPort模块中提供了两个C++类, 分别是QSerialPort类和QSerialPortInfo类[17]. QSerialPort类提供了操作串口的各种接口. QSerialPortInfo 类是一个辅助类, 可以提供计算机中可用串口的各种信息[18]. 在具体程序中, 首先需要用QSerialPort 类创建一个串口currentport, 设定其波特率、数据位、校验位、停止位等基本串口参数, 然后使用QSerialPortInfo帮助类获取系统上可用的串口的信息, 可以枚举系统上存在的所有串口, 获取串口的正确名称. 最后传递一个该类的对象作为setPortName方法的参数指定想要访问的串口设备. 在设置完串口后, 以读写模式调用open(QIODevice::ReadWrite)方法打开串口, 实现串口的准备工作. 为了识别串口是否成功打开, 在函数中加入if()语句进行判断, 并将识别出来的状态通过StatusBar状态栏显示出来.

3 视频图像的亮度均衡处理算法

当摄像头放入热室进行图像采集时, 由于热室是点光源进行照明, 摄像头采集到的图像会出现亮度跨度较大的现象, 因此需要对图像的亮度进行均衡. 亮度均衡是指由于光照不均匀或者摄像头曝光不足, 使得图像中目标物体和背景亮度不均匀, 给图像识别造成很大干扰[19]. 因此采用特定的算法或方法, 对图像中亮度过高或过低的部分进行调整, 实现图像的亮度均衡.

彩色图像可以采用RGB或HSI等颜色模型来描述, 它们之间存在着严格的数学关系, 可以相互转换. 因为HIS颜色空间中的分量I代表图像的亮度(Instensity), 和图像的色彩信息无关, 可以在不改变图像色彩的情况下进行亮度均衡. HIS颜色模型反应了人的视觉系统观察彩色的方式, 优势在于将颜色信息和灰度信息分开了[20]. 因此本文对图像进行RGB和HSI空间互相转换, 然后对HIS颜色模型中的分量I进行直方图均衡, 然后再转换成RGB颜色模型, 从而实现图像的亮度均衡.

HSI颜色模型是描述景物的另外一种颜色模型, 即用色调、饱和度、亮度来表示[21]. 色调(Hue)分量是描述颜色的波长, 饱和度(Saturation)分量是描述颜色的深浅程度, 亮度(Instensity)分量描述颜色的亮暗程度[22]. 常用的RGB-HSI转换公式大概有5种, 包括几何推导法、坐标变换法、分段定义法、Bajon近似法和标准模型法[23]. 其中几何推导法与HIS锥形空间相对应, 相比较以上几种转换算法, 几何推导法对颜色的分辨率高且逆向还原最为精确[24]. 因此, 本文使用几何推导法对图像进行处理.

3.1 亮度均衡算法原理[25]

RGB彩色格式的图像, 每个RGB像素的色调H分量可用下式得到:

$H = \left\{ \begin{gathered} \theta , \;\;\;\;\;{\rm{ G}} \geqslant B \hfill \\ 2\pi - \theta , \;\;\;\;\;\;\;G < B \hfill \\ \end{gathered} \right.\;\;$ (1)

其中,

$\theta = \arccos \left( {\frac{{(R - G) + (R - B)}}{{2\sqrt {{{(R - G)}^2} + (R - B)(G - B)} }}} \right)$ (2)

饱和度S分量可用下式得到:

$S = 1 - \frac{{3\min (R, G, B)}}{{R + G + B}}$ (3)

亮度I分量可用下式得到:

$I = \frac{{R + G + B}}{3}$ (4)

当转换成HIS色彩空间后, 需要对分量I进行直方图均衡. 直方图均衡化公式为:

$S = \sum\limits_{j = 0}^k {\frac{{\mathop n\nolimits_j }}{n}} {\rm{ }},\;\;k = 0, 1, 2, \cdot \cdot \cdot , L - 1$ (5)

其中, n是图像中像素的总和, $\mathop n\nolimits_j $ 是当前灰度级的像素个数, L是图像中可能的灰度级总数.

在进行直方图均衡以后, 需要把HIS转换成RGB, 这样图像能重新显示在屏幕上. HIS-RGB转换公式可由下式得到:

(1) 当H $\left[0, \displaystyle\frac{{2\pi }}{3}\right]$ 之间:

$B = I(1 - S)$ (6)
$R = I\left[ {1 + \frac{{S\cos H}}{{\cos (\displaystyle\frac{\pi }{3} - H)}}} \right]$ (7)
$G = 3I - (B + R)$ (8)

(2) 当H $\left[\displaystyle\frac{{2\pi }}{3}, \displaystyle\frac{{4\pi }}{3}\right]$ 之间:

$R = I(1 - S)$ (9)
$G = I\left[ {1 + \frac{{S\cos (H - \displaystyle\frac{{2\pi }}{3})}}{{\cos (\pi - H)}}} \right]$ (10)
$B = 3I - (R + G)$ (11)

(3) 当H $\left[\displaystyle\frac{{4\pi }}{3}, 2\pi \right]$ 之间:

$G = I(1 - S)$ (12)
$B = I\left[ {1 + \frac{{S\cos (H - \displaystyle\frac{{4\pi }}{3})}}{{\cos (\displaystyle\frac{{4\pi }}{3} - H)}}} \right]$ (13)
$R = 3I - (G + B)$ (14)
3.2 算法实现

在基于Qt制作的监控系统中, 为实现图像由RGB-HIS空间的转换, 需要对图像进行一帧一帧的处理, 通过QCameraImageCapture::CaptureToBuffer截取视频的每一帧图像. 在一帧的图像中, 通过QImage类pixel函数得到每个像素的RGB颜色值, 声明函数RGBtoHIS()函数, 定义float型6个变量, 按照RGB-HIS公式进行公式的输入, 在有分数的地方需要建立判别式, 以确保分母不能为0, 头文件里需要包含#include "cmath". 之后调用函数为即可得到每个像素的HIS分量值.

得到每个像素的HIS分量值后, typedef struct定义存放HIS空间分量的结构体, 申请一个二维结构体数组, 用来存放每个像素转换成HIS三分量的值. 然后将I分量提取出来计算频率和每个数量级出现的概率, 根据公式对概率累加并计算均值, 实现对I分量均衡化需要. 最后, 同样声明函数HIStoRGB()函数, 定义float型6个变量, 按照HIS-RGB公式进行表达式的输入. 将HIS转换成RGB, 这样图像能重新显示在屏幕上.

3.3 处理结果 3.3.1 亮度直方图评价

图像经过处理后的效果图如图7所示.

图 7 图像处理后的效果图

图7中, 图7(a)是没有经过亮度均衡得到的图像, 从图像上能很明显看出, 特别在方框标记的区域内, 图片显得有些模糊不清, 且亮度不均衡, 影响到操作者观察的清晰度. 而图7(b)是经过亮度均衡得到的图像, 图像经过处理后, 图像变得清晰, 亮度也变得均衡很多. 同样, 图7(c)处理前的亮度直方图亮度主要集中在0.3–0.7之间, 亮度呈现出不均衡的状况. 而图7(d)处理后的亮度直方图中可以看出, 亮度分布变得均衡很多, 每个亮度级都有分布.

3.3.2 平均梯度与信息熵评价

为了定量评价图像的增强效果, 这里选用平均梯度和信息熵两种方法来评价处理前后图像的改进效果.

(1) 平均梯度

图像平均梯度是指把整个图像的梯度和平均分到每个像素上的均值. 可以敏感的反映图像的清晰度和纹理变化, 平均梯度越大说明图像越清晰. 平均梯度的计算公式为[26]:

$G = \frac{1}{{M \times N}}\sum\limits_{{{i}} = 1}^M {\sum\limits_{j = 1}^N {\sqrt {\frac{{{{\left( {\displaystyle\frac{{\partial f}}{{\partial x}}} \right)}^2} + {{\left( {\displaystyle\frac{{\partial f}}{{\partial y}}} \right)}^2}}}{2}} } } $ (15)

其中, $M \times N$ 表示图像的大小, $\displaystyle\frac{{\partial f}}{{\partial x}}$ 表示水平方向的梯度, $\displaystyle\frac{{\partial f}}{{\partial y}}$ 表示垂直方向的梯度.

(2) 信息熵

信息熵是一种特征的统计形式, 它反映了图像中平均信息量的多少. 一张清晰的图像所包含的信息量远远高于不清晰的图像, 因此可以作为评价图像的一个量化指标. 信息熵越大说明图像越清晰. 信息熵的计算公式为[27]:

$H(x) = - \sum\limits_{{{i}} = 1}^n {p({a_i})} {\log _{_2}}p({a_i})$ (16)

其中, $p({a_i})$ 是序号为i的图像灰度出现的归一化频率.

因此, 根据上述两个指标公式, 应用Matlab软件可以求出图7中原始图像与处理后图像的平均梯度和信息熵, 处理结果如表1所示.

表 1 图像质量评价结果

表1可以看出, 本文所提出的RGB-HSI空间亮度均衡算法, 图像的平均梯度从68.34提高到了82.15, 信息熵从7.40提高到了7.64, 图像的清晰度得到了明显提高.

根据以上的对评价结果, 使用RGB-HSI空间亮度均衡算法进行处理能使视频亮度变得更加均衡, 清晰化程度高, 能大大提高工作人员辨识分装热室情况的清晰度和操作的准确性, 从而提高分装热室自动化控制效率.

4 系统性能测试

在软件开发过程中测试是很关键的环节, 是产品发布并且提交给用户的稳定化阶段[28]. 在测试中可以发现软件的缺点与不足, 及时进行改进和修正, 从而提高软件的实用性与准确性.

4.1 视频延时特性测试

监控系统在实际应用中会出现延时现象. 这是由于视频信号经摄像头采集后需要通过视频电缆, 编码器以及输出设备等环节. 延时的原因有很多, 主要有几个方面的原因: (1) 编码效率. (2) 解码设备的性能. (3) 传输链路和设备[29]. 因此, 在设备条件不能改变的前提下, 可以通过提升软件性能来减少延时现象. 本软件与目前常用的监控软件MiniVCap和VCam进行了延时测试. 系统测试的环境: CPU为Intel i7-7600HQ, 显卡NVIDAIA+2G显存. 所采集视频图像分辨率为1280×720, 帧率30 f/s. 测试方法为电脑打开秒表, 将摄像头和电脑进行连接, 并用软件显示出监控画面, 将摄像头对准秒表, 把整个屏幕截图, 计算出两个秒表之间的绝对值, 即为延时时间. 测试结果如图8所示.

图 8 延时特性测试结果

通过图8可以看出, 在使用三种不同类型的摄像头情况下, 本软件视频延时都明显比MiniVCap和VCam软件延时低, 减少了17%左右. 这是因为通常情况下, 应用程序都是在一个线程中执行操作. 当调用耗时操作时常常会出现卡顿现象, 影响画面的流畅质量. 但是本软件使用多线程, 将监控视频显示和其他操作分离, 置于一个新的线程, 提高了应用程序的相应速度.

4.2 CPU占有率测试

CPU的占有率是检测一个软件性能好坏的重要指标, 反应软件的运行的时间特性与任务状态[30]. 因此, 本软件与目前常用的监控软件MiniVCap和VCam进行了CPU占有率对比测试. 测试选用三种摄像头, 分辨率分别是480P、720P和1080P. 占有率分6个时间段进行测量, 分别是监控开始的10 s、20 s、40 s、80 s、160 s和320 s, 测量以后取平均值作为测量的结果. 在相同的测试环境下, 测试结果如图9所示.

通过图9可以明显的看出: 在使用三种不同类型的摄像头情况下, 本软件CPU占有率都明显比MiniVCap和VCam软件CPU占有率低. 因此, 在实现相同功能的情况下, 本软件明显比其他同类软件的CPU占有率低, 这样不会过多的占用处理器时间, 有效的提高了计算机的整体性能.

系统测试结果表明: 本界面基于Qt技术基础上, 实现了功能可扩展和人机交互的友好界面功能, 并很好的提高了应用程序的相应速度, 相比常用的监控软件, 视频延时和CPU占有率都有明显的降低.

图 9 CPU占用率测试结果

5 结语

本文设计的界面优点在于:

(1)思维创新: 本文在实现原有手动分装核素剂功能的基础上, 提出了一种自动化分装热室实现方案, 并设计了基于Qt的自动化分装热室控制界面. 该界面能很好实现实时监控和对STM32F429单片机的指令操作, 如果在单片机上搭建好分装机械系统, 能够实现自动化分装核素剂的功能. 这样既能减少医护人员所接收的辐射剂量, 又能较好的减轻工作负担, 提高工作效率, 使分装核素剂变得更安全更有效.

(2)技术创新: 本文基于Qt技术、嵌入式系统和网络服务器的基础上, 设计了一个功能可扩展的用户终端. 实现了人机交互的友好界面功能, 使界面简洁, 重点内容突出, 并采用多线程技术, 很好的提高了应用程序的相应速度, 相比常用的监控软件, 视频延时和CPU占有率都有明显的降低.

总之, 本文的自动化分装热室控制界面将人机交互界面、蓝牙通讯和网络传输等新兴技术融为一体, 具有很大的实用性, 在未来分装热室实现自动化的过程中肯定会有很大的发展. 然而要实现一个功能完善、界面友好的系统还有很多工作要做, 比如分装机械系统需要进一步设计, 界面功能还需要完善等等, 根据用户的需要进行完善和改进, 为用户提供更方便实用的系统.

参考文献
[1]
杨洪, 张工化, 王永玲, 等. PET-CT在肿瘤学方面的临床应用. 全国核素显像暨核素治疗学术交流会. 2006.
[2]
陈守强, 宫霞霞, 柏海平. 全隔离防护自动稀释分装机的研制开发. 中国组织工程研究, 2008, 12(26): 5095-5098. DOI:10.3321/j.issn:1673-8225.2008.26.028
[3]
Yurt A, Çavuşoğlu B, Günay T. Evaluation of awareness on radiation protection and knowledge about radiological examinations in healthcare professionals who use ionized radiation at work. Molecular Imaging & Radionuclide Therapy, 2014, 23(2): 48.
[4]
陈明志. 放射学检查中受检者辐射防护的探讨. 甘肃科技, 2016, 32(2): 126-127. DOI:10.3969/j.issn.1000-0952.2016.02.046
[5]
陈述, 蒙锦涛, 王建平, 等. 三峡升船机中控室人机界面的适配性研究. 人民长江, 2017, 48(19). DOI:10.16232/j.cnki.1001-4179.2017.19.021
[6]
肖蓉川, 陈守强, 宫霞霞, 等. 同位素液体稀释分装系统设计研发. 中国辐射卫生, 2008, 17(2): 222-225. DOI:10.3969/j.issn.1004-714X.2008.02.054
[7]
陈守强, 宫霞霞, 柏海平. 全隔离防护自动稀释分装机的研制开发. 中国组织工程研究, 2008, 12(26): 5095-5098. DOI:10.3321/j.issn:1673-8225.2008.26.028
[8]
喻晓, 夏澎. 基于Qt的便携式心电监护仪GUI应用软件设计. 计算机系统应用, 2017, 26(5): 221-226. DOI:10.15888/j.cnki.csa.005766
[9]
李丽, 蒋洪睿, 刘亚军. 基于MFC封装的Windows通信API的研究. 计算机系统应用, 1999, 8(10): 27-29.
[10]
黎邦腾, 梁薇, 马平. 基于Qt平台的OPC服务器的开发及仿真应用. 计算机测量与控制, 2017, 25(11): 154-158. DOI:10.16526/j.cnki.11-4762/tp.2017.11.039
[11]
王吕梁, 郭唐永, 李世鹏, 等. 基于QT的机载三维激光扫描仪软件系统设计. 计算机系统应用, 2017, 26(4): 61-66. DOI:10.15888/j.cnki.csa.005751
[12]
Shringarpure RN, Gupta NP, Choksi V, et al. Remotely controlled spy robot using communication protocols–a survey. International Journal of Scientific & Engineering Research, 2014, 12(5): 415-418.
[13]
范明攀. 基于Qt插件技术的肺癌气体检测嵌入式控制软件系统设计与实现[硕士学位论文]. 重庆: 重庆大学, 2016.
[14]
扎德. 基于Linux的即时通信技术研究[硕士学位论文]. 大连: 大连海事大学, 2016.
[15]
Dabhade J, Javare A, Ghayal T, et al. Smart door lock system: Improving home security using bluetooth technology. International Journal of Computer Applications, 2017, 160(8): 19-22. DOI:10.5120/ijca2017913058
[16]
Jayantilal SH. Interfacing of AT command based HC-05 serial bluetooth module with minicom in linux. International Journal for Scientific Research & Development, 2014, 2(3): 329-332.
[17]
李鹏军, 兰殿星, 宁文斌, 等. 基于Windows下Qt与脉冲发生器的串口通讯实现. 计算机测量与控制, 2016, 24(4): 206-209. DOI:10.16526/j.cnki.11-4762/tp.2016.04.060
[18]
Ángel Francisco Perles Ivars. Comunicaciones serie en Qt usando QextSerialPort. Docencia, 2013.
[19]
Zhao RB, Zhang YL, Pang MY, et al. An improved brightness balancing method and its GPU acceleration for digital images. Journal of Applied Science and Engineering, 2016, 19(4): 505-514. DOI:10.6180/jase.2016.19.4.14
[20]
Kamiyama M, Taguchi A. HSI color space with same gamut of RGB color space. IEICE Transactions on Fundamentals of Electronics, Communications & Computer Sciences, 2017, E100.A(1): 341-344.
[21]
宋瑞霞, 孙相东, 王小春. 基于HSI颜色空间和暗原色先验的去雾算法. 系统科学与数学, 2017, 37(10): 2111-2120.
[22]
宋瑞霞, 李达, 王小春. 基于HSI色彩空间的低照度图像增强算法. 图学学报, 2017, 38(2): 217-223. DOI:10.11996/JG.j.2095-302X.2017020217
[23]
Jayashree RA. RGB to HSI color space conversion via MACT algorithm. International Conference on Communications and Signal Processing. Melmaruvathur, India. IEEE. 2013. 561–565.
[24]
王婷婷. 基于单目视觉的室内目标定位技术研究[硕士学位论文]. 天津: 天津大学, 2012.
[25]
朱虹. 数字图像处理基础. 北京: 科学出版社, 2005.
[26]
Wu J, Huang H, Qiu Y, et al. Remote sensing image fusion based on average gradient of wavelet transform. 2005 IEEE International Conference on Mechatronics and Automation. IEEE. 2005. 1817–1821. [doi: 10.1109/ICMA.2005.1626836]
[27]
Tsai DY, Lee Y, Matsuyama E. Information entropy measure for evaluation of image quality. Journal of Digital Imaging, 2008, 21(3): 338-347. DOI:10.1007/s10278-007-9044-5
[28]
陈莹颖. 基于Qt的视频监控客户端的设计和研究[硕士学位论文]. 杭州: 浙江工业大学, 2016.
[29]
Miura M, Kobayashi K. Image display control system reducing image transmission delay. US, US6961082. 2005.
[30]
Ding X, Li Z. Column-stored system join optimization on coupled CPU-GPU architecture. 2015 4th International Conference on Computer Science and Network Technology (ICCSNT). Harbin, China. 2016. 184–191. [doi: 10.1109/ICCSNT.2015.7490733]