CN113626006A - 基于RT Thread操作系统的图像处理方法及设备 - Google Patents
基于RT Thread操作系统的图像处理方法及设备 Download PDFInfo
- Publication number
- CN113626006A CN113626006A CN202111183702.4A CN202111183702A CN113626006A CN 113626006 A CN113626006 A CN 113626006A CN 202111183702 A CN202111183702 A CN 202111183702A CN 113626006 A CN113626006 A CN 113626006A
- Authority
- CN
- China
- Prior art keywords
- openmv
- operating system
- serial port
- thread operating
- thread
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Withdrawn
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/20—Software design
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/76—Adapting program code to run in a different environment; Porting
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Prostheses (AREA)
- Eye Examination Apparatus (AREA)
Abstract
本申请涉及一种基于RT Thread操作系统的图像处理方法及设备;所述方法包括:将OpenMV和单片机的RT Thread操作系统结合移植到一起;将OpenMV源码中JPEG压缩模块的驱动代码由查询方式修改成中断方式;遵循RT Thread USB device驱动框架架构下,实现USB串口与PC电脑连接;在视网膜假体体外设备上调用OpenMV图像算法的功能。本发明将RT Thread操作系统和OpenMV结合移植到一起,能够对拍摄的图像进行算法处理,还能够兼具视网膜假体体外设备的功能:给体内芯片提供能量,体内/体外射频通信,传输图像刺激的信号数据,接收体内收集的信息数据,大大的降低设备功耗。
Description
技术领域
本申请涉及图像处理技术领域,特别是涉及一种基于RT Thread操作系统的图像处理方法及设备。
背景技术
视网膜假体体外设备上需要实现一些图像算法,解决诸如简单的图像边缘增强、物体形状/颜色识别、人脸识别等功能。目前通常都会采用OpenCV算法或者结合FPGA来实现,比如二者结合在一起的xilinx的Zynq平台来实现。
但是由于单片机的性能有限,不能运行OpenCV这些大型的图像算法软件,也没有针对单片机采用带实时操作系统(RTOS)并可以使用图像处理算法的嵌入式解决方案。
发明内容
基于此,本发明提供一种基于RT Thread操作系统的图像处理方法及设备,使得能够对拍摄的图像进行算法处理,同时,还能够兼具视网膜假体体外设备的功能:给体内芯片提供能量,体内/体外射频通信,传输图像刺激的信号数据,接收体内传感器收集的信息数据,都能够集成在1个单片机上实现,大大的降低了设备功耗。
为了实现上述目的,本申请实施例提供了一种基于RT Thread操作系统的图像处理方法,包括如下步骤:
将OpenMV和单片机的RT Thread操作系统结合移植到一起;
将OpenMV源码中JPEG压缩模块的驱动代码由查询方式修改成中断方式;
遵循RT Thread USB device驱动框架架构下,实现USB串口与PC电脑连接;
在视网膜假体体外设备上调用OpenMV图像算法的功能。
优选地,所述将OpenMV和RT Thread操作系统结合移植到一起具体包括如下步骤:
将基于Linux上运行的Makefile编译环境的OpenMV代码,移植到基于windows上运行的Keil IDE开发环境中;
将单片机上部分RAM存储资源固定用于OpenMVframebuffer帧缓冲;
将OpenMVmicropython使用的16bit MP_QSTR_*调整映射到RT ThreadMicropython上使用的8bit MP_QSTR_*。
优选地,所述OpenMV串口与医用软件串口集成到一起;
当OpenMV IDE打开USB串口时波特率为12Mbps或者921600bps时,则当前是OpenMVIDE串口;
当视网膜假体体外设备配套的医用软件打开USB串口时波特率为115200bps,则当前是医用软件串口。
优选地,所述OpenMV图像算法的应用是通过移植调用对应的C语言函数代码实现的。
优选地,所述OpenMV图像算法所使用的功能包括:边缘增强、物体的形状颜色识别、人脸识别追踪。
本发明还提供了一种基于RT Thread操作系统的图像处理设备,其包括:
基于单片机的视网膜假体体外设备,所述单片机具有RT Thread操作系统,所述RTThread操作系统与OpenMV结合移植在一起;
所述视网膜假体体外设备分别连接有模拟或者USB摄像头、视网膜假体体外眼镜、USB串口和外扩的Flash U盘映射;
所述模拟或者USB摄像头通过长连接线与视网膜假体体外设备连接,所述视网膜假体体外眼镜集成有能量线圈和数据线圈;
所述RT Thread操作系统具有运行OpenMV图像算法的开发环境,所述USB串口和U盘连接PC电脑。
优选地,还包括:
设置在视网膜假体体外设备上的调用按键,所述调用按键用于调用相应的OpenMV图像算法。
优选地,所述RT Thread操作系统还具有Python编程接口。
优选地,所述RT Thread操作系统与OpenMV结合移植到一起的方法为:
将基于Linux上运行的Makefile编译环境的OpenMV代码,移植到基于windows上运行的Keil IDE开发环境中;
将单片机上部分RAM存储资源固定用于OpenMVframebuffer帧缓冲;
将OpenMVmicropython使用的16bit MP_QSTR_*调整映射到RT ThreadMicropython上使用的8bit MP_QSTR_*。
优选地,所述OpenMV串口集成有医用软件串口;
当OpenMV IDE打开USB串口时波特率为12Mbps或者921600bps时,则当前是OpenMVIDE串口;
当视网膜假体体外设备配套的医用软件打开USB串口时波特率为115200bps,则当前是医用软件串口。
上述技术方案中的一个技术方案具有如下优点和有益效果:
将RT Thread操作系统和OpenMV结合移植到一起,实现了能够调用基于OpenMV的图像算法,还能够兼具视网膜假体体外设备的功能:给体内芯片提供能量,体内/体外射频通信,传输图像刺激的信号数据,接收体内传感器收集的信息数据,都能够集成在1个单片机上实现,大大的降低了设备功耗。
附图说明
图1为本申请基于RT Thread操作系统的图像处理方法较佳实施例的流程示意图;
图2为图1中步骤S100的具体流程示意图;
图3为本申请基于RT Thread操作系统的图像处理设备较佳实施例的模块示意图。
具体实施方式
为了便于理解本申请,下面将参照相关附图对本申请进行更全面的描述。附图中给出了本申请的首选实施例。但是,本申请可以以许多不同的形式来实现,并不限于本文所描述的实施例。相反地,提供这些实施例的目的是使对本申请的公开内容更加透彻全面。
需要说明的是,当一个元件被认为是“连接”另一个元件,它可以是直接连接到另一个元件并与之结合为一体,或者可能同时存在居中元件。本文所使用的术语“安装”以及类似的表述只是为了说明的目的。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施例的目的,不是旨在于限制本申请。本文所使用的术语“及/或”包括一个或多个相关的所列项目的任意的和所有的组合。
由于视网膜假体需要多任务同时运行,因此需要实时操作系统(RTOS)的支撑。
如图1所示,在一个实施例中,提供了一种基于RT Thread操作系统的图像处理方法,包括如下步骤:
S100、将OpenMV和单片机的RT Thread操作系统结合移植到一起;
S200、将OpenMV源码中JPEG压缩模块的驱动代码由查询方式修改成中断方式;
S300、遵循RT Thread USB device驱动框架架构下,实现USB串口连接;
S400、在视网膜假体体外设备上调用OpenMV图像算法的功能。
JPEG压缩模块采用中断方式占用CPU更少,采用查询方式占用CPU太多影响到了摄像头模块的正常运行。这里的JPEG压缩模块是STM32单片机上自带的一个硬件模块,实现了将图像压缩成JPEG后减小图片大小再传输的目的。OpenMV通过OpenMV串口传输的图像都是JPEG格式的,这有助于减少带宽占用,从而提升图片传输到OpenMV IDE那里显示的帧率。
具体实施时,如图2所示,S100、所述将OpenMV和RT Thread操作系统结合移植到一起具体包括如下步骤:
S101、将基于Linux上运行的Makefile编译环境的OpenMV代码,移植到windows上运行的Keil IDE开发环境中,Keil IDE为STM32单片机开发环境;
S102、将单片机上部分RAM存储资源固定用于OpenMVframebuffer帧缓冲,该帧缓冲例如fb_alloc,MAIN_FB,JPEG_FB;
S103、将OpenMVmicropython使用的16bit MP_QSTR_*调整映射到RT ThreadMicropython上使用的8bit MP_QSTR_*,上述映射过程采用python脚本来完成,修改这个文件再次运行即能生成这些MP_QSTR_*值,生成完成后保存到对应的头文件即可。
具体实施时,所述OpenMV串口与医用软件串口集成到一起,两者在电脑主机上都是同一个串口;当OpenMV IDE打开USB串口时波特率为12Mbps或者921600bps时,则当前是OpenMV IDE串口;当视网膜假体体外设备配套的医用软件打开USB串口时波特率为115200bps,则当前是医用软件串口。
本方法简便,既能完成视网膜假体所需要的功能:给体内的芯片提供能量体,体内/体外射频通信,传输图像刺激信号数据,接收体内传感器收集的信息数据等操作;同时,还能调用图像算法来进行不同方式的图像处理。
具体实施时,所述OpenMV图像算法的应用是通过移植调用对应的C语言函数代码实现的。上述方法相比于采用简单地编写Micropython脚本解释执行调用,执行效率更高。
具体实施时,所述OpenMV图像算法所使用的功能包括:边缘增强、物体的形状颜色识别、人脸识别追踪。当然在运行上述任务的同时,还可以运行其它多任务处理,比如这里的视网膜假体任务。
本发明还提供了一种基于RT Thread操作系统的图像处理设备,如图3中所示,其包括:
基于单片机的视网膜假体体外设备,所述单片机具有RT Thread操作系统,所述RTThread操作系统与OpenMV结合移植在一起;
所述视网膜假体体外设备分别连接有模拟或者USB摄像头、视网膜假体体外眼镜、USB串口和外扩的Flash U盘映射;
所述模拟或者USB摄像头通过长连接线与视网膜假体体外设备连接,所述视网膜假体体外眼镜集成有能量线圈和数据线圈;
所述RT Thread操作系统具有运行OpenMV图像算法的开发环境,所述USB串口和U盘连接PC电脑。
将上述图像处理设备使用一根USB Micro B数据线连接到PC电脑上后,基于RTThread驱动框架实现了1个USB Composite Device设备,能够呈现出一个U盘设备,该U盘设备能够管理16M的FAT文件系统的外扩SPI Flash存储空间,可以用来存储和管理设备运行产生的数据。另外还会在PC电脑上呈现一个USB串口(OpenMV串口与医用软件串口一起共用),该USB串口可以用来连接视网膜假体体外设备配套的医用软件,同时,还可以用来连接OpenMV IDE,运行图像算法或者开发新的图像算法。如图3中所示,视网膜假体相关处理的多任务应用能够连接体外设备配套的医用软件。
具体实施时,还包括:设置在视网膜假体体外设备上的调用按键,所述调用按键可以调用相应的OpenMV图像算法。
具体实施时,所述RT Thread操作系统还具有Python编程接口,也就是能够运行STM32官方的python开发环境。
具体实施时,所述RT Thread操作系统与OpenMV结合移植到一起的方法为:
将基于Linux上运行的Makefile编译环境的OpenMV代码,移植到基windows上运行的Keil IDE开发环境中;
将单片机上部分RAM存储资源固定用于OpenMVframebuffer帧缓冲;
将OpenMVmicropython使用的16bit MP_QSTR_*调整映射到RT ThreadMicropython上使用的8bit MP_QSTR_*。
具体实施时,所述OpenMV串口集成有医用软件串口;当OpenMV IDE打开USB串口时波特率为12Mbps或者921600bps时,则当前是OpenMV IDE串口;当视网膜假体体外设备配套的医用软件打开USB串口时波特率为115200bps,则当前是医用软件串口。
本设备既能运行实现视网膜假体相关功能的医用软件,又能运行实现图像算法功能的软件,即在基于单片机实现的视网膜假体体外设备上同时实现了图像算法这一目的。本发明当然还可以在其他的单片机上实现,因此设备的体积和功耗相对于其它方案来说可以降低很多。
综上,本申请提供的一种基于RT Thread操作系统的图像处理方法及设备;所述方法包括如下步骤:将OpenMV和单片机的RT Thread操作系统结合移植到一起;将OpenMV源码中JPEG压缩模块的驱动代码由查询方式修改成中断方式;遵循RT Thread USB device驱动框架架构下,实现USB串口与PC电脑连接;在视网膜假体体外设备上调用OpenMV图像算法的功能,还能够兼具视网膜假体体外设备的功能:给体内芯片提供能量,体内/体外射频通信,传输图像刺激的信号数据,接收体内传感器收集的信息数据,都能够集成在1个单片机上实现,大大的降低了设备功耗。
以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。
Claims (10)
1.一种基于RT Thread操作系统的图像处理方法,其特征在于,包括如下步骤:
将OpenMV和单片机的RT Thread操作系统结合移植到一起;
将OpenMV源码中JPEG压缩模块的驱动代码由查询方式修改成中断方式;
遵循RT Thread USB device驱动框架架构下,实现USB串口与PC电脑连接;
在视网膜假体体外设备上调用OpenMV图像算法的功能。
2.根据权利要求1所述的基于RT Thread操作系统的图像处理方法,其特征在于,所述将OpenMV和RT Thread操作系统结合移植到一起具体包括如下步骤:
将基于Linux上运行的Makefile编译环境的OpenMV代码,移植到基于windows上运行的Keil IDE开发环境中;
将单片机上部分RAM存储资源固定用于OpenMVframebuffer帧缓冲;
将OpenMVmicropython使用的16bit MP_QSTR_*调整映射到RT Thread Micropython上使用的8bit MP_QSTR_*。
3.根据权利要求1所述的基于RT Thread操作系统的图像处理方法,其特征在于,所述OpenMV串口与医用软件串口集成到一起;
当OpenMV IDE打开USB串口时波特率为12Mbps或者921600bps时,则当前是OpenMV IDE串口;
当视网膜假体体外设备配套的医用软件打开USB串口时波特率为115200bps,则当前是医用软件串口。
4.根据权利要求1所述的基于RT Thread操作系统的图像处理方法,其特征在于,所述OpenMV图像算法的应用是通过移植调用对应的C语言函数代码实现的。
5.根据权利要求4所述的基于RT Thread操作系统的图像处理方法,其特征在于,所述OpenMV图像算法所使用的功能包括:边缘增强、物体的形状颜色识别、人脸识别追踪。
6.一种基于RT Thread操作系统的图像处理设备,其特征在于,包括:
基于单片机的视网膜假体体外设备,所述单片机具有RT Thread操作系统,所述RTThread操作系统与OpenMV结合移植在一起;
所述视网膜假体体外设备分别连接有模拟或者USB摄像头、视网膜假体体外眼镜、USB串口和外扩的Flash U盘映射;
所述模拟或者USB摄像头通过长连接线与视网膜假体体外设备连接,所述视网膜假体体外眼镜集成有能量线圈和数据线圈;
所述RT Thread操作系统具有运行OpenMV图像算法的开发环境,所述USB串口和U盘连接PC电脑。
7.根据权利要求6所述的基于RT Thread操作系统的图像处理设备,其特征在于,还包括:
设置在视网膜假体体外设备上的调用按键,所述调用按键用于调用相应的OpenMV图像算法。
8.根据权利要求6所述的基于RT Thread操作系统的图像处理设备,其特征在于,所述RT Thread操作系统还具有Python编程接口。
9.根据权利要求6所述的基于RT Thread操作系统的图像处理设备,其特征在于,所述RT Thread操作系统与OpenMV结合移植到一起的方法为:
将基于Linux上运行的Makefile编译环境的OpenMV代码,移植到基于windows上运行的Keil IDE开发环境中;
将单片机上部分RAM存储资源固定用于OpenMVframebuffer帧缓冲;
将OpenMVmicropython使用的16bit MP_QSTR_*调整映射到RT Thread Micropython上使用的8bit MP_QSTR_*。
10.根据权利要求6所述的基于RT Thread操作系统的图像处理设备,其特征在于,所述OpenMV串口集成有医用软件串口;
当OpenMV IDE打开USB串口时波特率为12Mbps或者921600bps时,则当前是OpenMV IDE串口;
当视网膜假体体外设备配套的医用软件打开USB串口时波特率为115200bps,则当前是医用软件串口。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111183702.4A CN113626006A (zh) | 2021-10-11 | 2021-10-11 | 基于RT Thread操作系统的图像处理方法及设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111183702.4A CN113626006A (zh) | 2021-10-11 | 2021-10-11 | 基于RT Thread操作系统的图像处理方法及设备 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113626006A true CN113626006A (zh) | 2021-11-09 |
Family
ID=78390912
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111183702.4A Withdrawn CN113626006A (zh) | 2021-10-11 | 2021-10-11 | 基于RT Thread操作系统的图像处理方法及设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113626006A (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200082166A1 (en) * | 2016-12-06 | 2020-03-12 | Shenzhen Cas-envision Medical Technology Co., Ltd. | Image recognition method and apparatus based on artificial retina |
CN111093037A (zh) * | 2020-03-20 | 2020-05-01 | 深圳市中科先见医疗科技有限公司 | 图像数据接收方法、图像采集设备和人工视网膜设备 |
CN112346722A (zh) * | 2020-11-11 | 2021-02-09 | 苏州大学 | 一种实现编译型嵌入式Python的方法 |
CN213182424U (zh) * | 2020-08-31 | 2021-05-11 | 东莞理工学院 | 一种基于openmv的视觉伺服移动机器人系统 |
-
2021
- 2021-10-11 CN CN202111183702.4A patent/CN113626006A/zh not_active Withdrawn
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20200082166A1 (en) * | 2016-12-06 | 2020-03-12 | Shenzhen Cas-envision Medical Technology Co., Ltd. | Image recognition method and apparatus based on artificial retina |
CN111093037A (zh) * | 2020-03-20 | 2020-05-01 | 深圳市中科先见医疗科技有限公司 | 图像数据接收方法、图像采集设备和人工视网膜设备 |
CN213182424U (zh) * | 2020-08-31 | 2021-05-11 | 东莞理工学院 | 一种基于openmv的视觉伺服移动机器人系统 |
CN112346722A (zh) * | 2020-11-11 | 2021-02-09 | 苏州大学 | 一种实现编译型嵌入式Python的方法 |
Non-Patent Citations (2)
Title |
---|
LINCCFZU: "OpenMV学习分享:将源码移植到keil工程环境编译", 《HTTPS://WWW.AMOBBS.COM/THREAD-5697240-1-1.HTML》 * |
永远不败: "STM32单片机RT Thread + Micropython + OpenMV + USB摄像头移植整合过程", 《CSDN:HTTPS://BLOG.CSDN.NET/CHUMMYHE/ARTICLE/DETAILS/109516924》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN116070684B (zh) | 一种集成芯片以及处理传感器数据的方法 | |
WO2022052897A1 (zh) | 调整内存配置参数的方法和装置 | |
EP3306776A1 (en) | Electronic device for charging battery and operating method thereof | |
CN110572866B (zh) | 一种唤醒锁的管理方法及电子设备 | |
CN114498804B (zh) | 用于开机或唤醒系统的电子设备和控制电路 | |
WO2021164300A1 (zh) | 数据展示方法、终端设备及存储介质 | |
CN114116191A (zh) | 内存冷页的处理方法及电子设备 | |
WO2021238387A1 (zh) | 一种执行应用的方法及装置 | |
KR20180024626A (ko) | 저전력 상태에서 시간 정보 제공 방법 및 이 방법을 포함하는 전자 장치 | |
EP4093002A1 (en) | Always on display method and electronic device | |
CN117130773B (zh) | 资源分配方法、装置和设备 | |
CN112532145A (zh) | 马达振动控制方法及电子设备 | |
CN116680153A (zh) | 应用帧率平滑方法、电子设备及存储介质 | |
CN113626006A (zh) | 基于RT Thread操作系统的图像处理方法及设备 | |
KR20180113414A (ko) | 외부 전자 장치에 연결하고 데이터를 업데이트 하는 전자 장치 | |
US20230045200A1 (en) | Electronic Device, Method for Controlling Electronic Device to Perform PPG Detection, and Medium | |
CN112437341B (zh) | 一种视频流处理方法及电子设备 | |
CN114741121B (zh) | 用于模块加载的方法与装置、电子设备 | |
KR102405886B1 (ko) | 아키텍처 변경을 위한 소스 변환 솔루션 제공 장치 및 방법 | |
CN114461589B (zh) | 读取压缩文件的方法、文件系统及电子设备 | |
US20230289160A1 (en) | Application installation method and electronic device | |
CN114780029A (zh) | 器件识别方法和相关装置 | |
CN114020186B (zh) | 健康数据的显示方法和显示装置 | |
CN115941836B (zh) | 一种界面显示方法、电子设备及存储介质 | |
CN108400431A (zh) | 调节辐射部电长度的方法和电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20211109 |