CN116204337B - 一种图像传输方法、装置、设备和计算机存储介质 - Google Patents
一种图像传输方法、装置、设备和计算机存储介质 Download PDFInfo
- Publication number
- CN116204337B CN116204337B CN202310203355.XA CN202310203355A CN116204337B CN 116204337 B CN116204337 B CN 116204337B CN 202310203355 A CN202310203355 A CN 202310203355A CN 116204337 B CN116204337 B CN 116204337B
- Authority
- CN
- China
- Prior art keywords
- image
- transmitted
- shared memory
- writing
- data
- 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.)
- Active
Links
- 230000005540 biological transmission Effects 0.000 title claims abstract description 96
- 238000000034 method Methods 0.000 title claims abstract description 33
- 230000003068 static effect Effects 0.000 claims description 43
- 238000004590 computer program Methods 0.000 claims description 11
- WHXSMMKQMYFTQS-UHFFFAOYSA-N Lithium Chemical compound [Li] WHXSMMKQMYFTQS-UHFFFAOYSA-N 0.000 description 5
- 238000001514 detection method Methods 0.000 description 5
- 229910052744 lithium Inorganic materials 0.000 description 5
- 230000008859 change Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 4
- 230000008901 benefit Effects 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007906 compression Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002035 prolonged effect Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/16—File or folder operations, e.g. details of user interfaces specifically adapted to file systems
- G06F16/164—File meta data generation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/17—Details of further file system functions
- G06F16/172—Caching, prefetching or hoarding of files
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5016—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals the resource being the memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
- G06F9/5022—Mechanisms to release resources
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Facsimiles In General (AREA)
Abstract
本发明提供了一种图像传输方法、装置、设备和计算机存储介质,该图像传输方法包括:在图像传输信道中创建共享内存,并将待传输图像写入所述共享内存;对写入所述共享内存的所述待传输图像依次进行读取和解析,得到所述待传输图像的元数据;利用所述待传输图像的元数据在所述共享内存中生成待显示图像、并对所述待显示图像进行显示;将已显示的所述待传输图像从所述共享内存中删除,以释放所述共享内存,其在所述共享内存中直接生成所述待显示图像,减少了图像传输次数,进而降低了图像传输成本。
Description
技术领域
本发明涉及图像传输技术领域,特别是涉及一种图像传输方法、装置、设备和计算机存储介质。
背景技术
随着锂电池行业的不断发展,其整体形貌也逐渐向大型化、高度集成化发展,为此,锂电池的整体形貌的检测需要进一步提高检测性能。目前,锂电池的整体形貌往往通过机器视觉进行检测,为提高检测效果,需要首先采集数量较多的大尺寸图片以用于检测,然后将采集后的图像传输至检测设备中进行处理和判断,最后经过处理和判断的图像传输至显示端进行显示,可以看出,在锂电池的整体形貌的检测过程中涉及多次的图像传输,而图像传输过程中的格式不同将会导致图像传输成本增加,使图像传输存在成本高的问题。
发明内容
基于此,本发明的目的在于,提供一种图像传输方法、装置、设备和计算机存储介质,其具有图像传输成本低的优点。
本发明所采用的技术方案内容具体如下:
一种图像传输方法,包括:
S1:在图像传输时,创建共享内存,并将待传输图像写入所述共享内存;
S2:对写入所述共享内存的所述待传输图像依次进行读取和解析,得到所述待传输图像的元数据;
S3:利用所述待传输图像的元数据在所述共享内存中生成待显示图像、并对所述待显示图像进行显示;
S4:将已显示的所述待传输图像从所述共享内存中删除,以释放所述共享内存。
进一步地,步骤S1中,在图像传输时,创建共享内存为:
在所述共享内存中创建图像消息结构,所述图像消息结构包括依次拼接的摘要数据、信息数据、截断标识和图像数据,其中:所述摘要数据用于判断图像数据是否更新;所述信息数据包括控制参数、图像参数、图像序列号和状态标识;所述图像数据为二进制格式的元数据。
进一步地,步骤S1中,将待传输图像写入所述共享内存包括:
S11:获取所述待传输图像的尺寸、采集周期和传输周期;
S12:根据所述待传输图像的尺寸、采集周期和传输周期确定所述共享内存的类型和所述待传输图像的写入方式,且所述共享内存的类型为静态共享内存或动态共享内存,所述待传输图像的写入方式为静态单一写入、静态循环队列写入和动态写入中的一种;
S13:将所述待传输图像以所述图像消息结构按照所述写入方式写入所述共享内存中。
进一步地,步骤S12为:
当所述待传输图像的尺寸为大尺寸、且所述采集周期与所述传输周期的比值不小于6时,所述共享内存的类型为静态共享内存,所述待传输图像的写入方式为静态单一写入;
或者,当所述待传输图像的尺寸为大尺寸、且所述采集周期与所述传输周期的比值小于6、且大于2时,所述共享内存的类型为静态共享内存,所述待传输图像的写入方式为静态循环队列写入;
或者,当所述待传输图像的尺寸为小尺寸时,所述共享内存的类型为动态共享内存,所述待传输图像的写入方式为动态写入。
进一步地,所述共享内存的类型为动态共享内存,所述待传输图像的写入方式为动态写入时,步骤S1中,将待传输图像写入所述共享内存还包括:
S14:获取所述共享内存的命名管道和共享状态表,其中:所述命名管道用于对所述共享内存的信息和写入所述共享内存的数据信息进行传输;所述共享状态表用于存储所述共享内存的存储空间分配信息和数据结构。
进一步地,步骤S13包括:
S131:获取所述待传输图像的信息序列;
S132:计算所述待传输图像的摘要、并将所述摘要插入所述图像消息结构的摘要数据中;
S133:将所述待传输图像的信息序列写入所述图像消息结构的信息数据中;
S134:将分隔符写入所述截断标识中;
S135:将所述待传输图像的元数据写入所述图像数据中。
进一步地,步骤S3包括:
S31:获取所述待传输图像的元数据类型;
S32:利用所述元数据类型和所述元数据生成待显示图像;
S33:利用MVVM对象对所述待显示图像进行显示。
本发明还提供一种图像传输装置,包括:
创建模块,用于在图像传输时,创建共享内存,并将待传输图像写入所述共享内存;
解析模块,用于对写入所述共享内存的所述待传输图像依次进行读取和解析,得到所述待传输图像的元数据;
显示模块,用于利用所述待传输图像的数据信息生成所述待传输图像、并对所述待传输图像进行显示;
内存释放模块,用于将已显示的所述待传输图像从所述图像传输信道的共享内存中删除,以释放所述图像传输信道的共享内存。
本发明还提供了一种图像传输设备,包括:
处理器;
存储器,用于存储由所述处理器执行的计算机程序;
其中,所述处理器执行所述计算机程序时实现本发明所述的图像传输方法。
本发明还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现本发明所述的图像传输方法
与现有技术相比,本发明的有益效果在于:
1、本发明公开的图像传输方法,其在所述共享内存中直接生成所述待显示图像,减少了图像传输次数,进而降低了图像传输成本。而且,其根据所述待传输图像的尺寸、采集周期和传输周期确定所述共享内存的类型和所述待传输图像的写入方式,可以根据所述待传输图像的实际情况构建不同类型的所述共享内存、并确定不同的写入方式,提高了所述图像传输中的共享内存的利用效率。
2、本发明公开的图像传输方法,其在共享内存中创建图像消息结构,并将待传输图像按照图像消息结构写入共享内存中,其可以使不同格式的所述待传输图像均按照图像消息结构写入共享内存中,方便了不同格式的待传输图像的传输、读取与解析,降低了待传输图像的传输成本。
3、本发明公开的图像传输方法,当所述待传输图像的尺寸为大尺寸、且所述采集周期与所述传输周期的比值不小于6时,采用静态共享内存可以实现共享内存的快速写入与快速释放,避免所述共享内存出现没有释放或提前释放等内存指针安全问题;当所述待传输图像的尺寸为大尺寸、且所述采集周期与所述传输周期的比值小于6、且大于2时,采用静态循环队列的写入方式可以提高所述共享内存的写入和释放效率,降低数据冒险的可能性;当所述待传输图像的尺寸为小尺寸时,动态共享内存可以提高所述共享内存的利用效率。
为了更好地理解和实施,下面结合附图详细说明本发明。
附图说明
图1为本发明一实施例中图像传输方法的流程图;
图2为本发明一实施例中图像传输方法的逻辑图;
图3为图像消息结构的结构示意图;
图4为信息数据的结构示意图;
图5为本发明一实施例中图像传输装置的结构示意图;
其中,各附图的附图标记为:
1、创建模块;11、创建单元;12、写入单元;2、解析模块;3、显示模块;31、获取单元;32、图像生成单元;33、图像显示单元;4、内存释放模块。
具体实施方式
应当明确,所描述的实施例仅仅是本申请实施例一部分实施例,而不是全部的实施例。基于本申请实施例中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本申请实施例保护的范围。
在本申请实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请实施例。在本申请实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。在本申请的描述中,需要理解的是,术语“第一”、“第二”、“第三”等仅用于区别类似的对象,而不必用于描述特定的顺序或先后次序,也不能理解为指示或暗示相对重要性。对于本领域的普通技术人员而言,可以根据具体情况理解上述术语在本申请中的具体含义。
此外,在本申请的描述中,除非另有说明,“多个”是指两个或两个以上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。
应当理解的是,本申请实施例并不局限于上面已经描述并在附图中示出的精确结构,并且可以在不脱离其范围进行各种修改和改变。本申请实施例的范围仅由所附的权利要求来限制。
参照图1和图2,本实施例提供了一种图像传输方法,包括如下步骤:
S1:在图像传输时,创建共享内存,并将待传输图像写入所述共享内存。
在本实施例中,在图像传输时创建共享内存为:在所述共享内存中创建图像消息结构,参照图3,所述图像消息结构包括依次拼接的摘要数据、信息数据、截断标识和图像数据。
具体地,所述摘要数据的长度为16字节,其用于判断所述待传输图像的元数据是否有更新。
所述信息数据用于描述所述待传输图像的尺寸、类型、色彩格式、句柄名称、有效长度和指针起始位置等信息,具体而言,参照图4,所述信息数据包括所述待传输图像的序号、控制参数、图像参数和状态标识,并且所述控制参数包括所述待传输图像是否被读取、所述待传输图像的状态改变行为和所述待传输图像的改变状态等,所述图像参数包括所述待传输图像的图像标签、图像类型、图像格式、图像宽度、图像高度、图像通道数、图像数据起始位置、图像数据长度、共享内存名称和对象复制接口等;所述状态标识用于标识该图像是否已经可以进行释放。而且,具体应用时,可以对所述信息数据进行序列化处理,以降低所述消息数据的实际长度,提高信息密度,降低图像传输成本。
在本实施例中,由于所述信息数据需要进行编码压缩后进行传输,其使所述图像输出的长度存在一定的动态变化,因此,在本实施例中,通过设置截断标识可以对所述信息数据和图像数据进行分割,方便了所述信息数据和图像数据的读取;而且,在本实施例中,在所述图像消息结构中,对第17个字节到所述截断标识之间的信息进行读取即可得到所述信息数据,对所述截断标识后的信息进行读取即可得到所述图像数据。
另外,如果所述消息数据没有独占的结束符而采用常见的结尾符(如‘\r\n’或者‘\0’)为结尾时,那么当所述消息数据存在不确定的缺陷时,如所述消息数据因包含常规结束符而造成误判,可能会造成局部意外分割的情况;而且,本实施例中,对所述信息数据进行序列化处理时主要采用Protobuf的压缩编码方式,其为使所述消息结构的压缩率最大化,使所述信息数据在序列化时返回默认值、或者主动赋予与默认值相同的变量进行省略,因此,当采用‘0’作为所述截断标识时,被压缩的所述消息结构在被解析的过程中按照默认值恢复,可以避免解析过程中出现信息损失;而且,由于常规数据的默认值为‘0’,若所述消息数据中存在‘0’时,则该消息数据会等同于默认值而被省略,因此,采用‘0’作为所述截断标识可以区分所述信息数据和所述图像数据之间的分割位置;另外,当所述图像消息结构从第17字节开始序列中首次出现了‘0’时,可以方便地将所述信息数据和所述图像数据进行截断,既保留了所述图像消息结构的压缩率,又可以对所述图像数据和所述信息数据进行有效分割。
在本实施例中,将待传输图像写入所述共享内存包括如下步骤:
(1)获取所述待传输图像的尺寸、采集周期和传输周期
在本实施例中,所述采集周期为所述待传输图像的采集周期,所述传输周期为所述待传输图像的传输周期。
(2)根据所述待传输图像的尺寸、采集周期和传输周期确定所述共享内存的类型和所述待传输图像的写入方式,且所述共享内存的类型为静态共享内存或动态共享内存,所述待传输图像的写入方式为静态单一写入、静态循环队列写入和动态写入中的一种。
具体地,当所述待传输图像的尺寸为大尺寸、且所述采集周期与所述传输周期的比值不小于6时,所述共享内存的类型为静态共享内存,所述待传输图像的写入方式为静态单一写入;当所述待传输图像的尺寸为大尺寸、且所述采集周期与所述传输周期的比值小于6、且大于2时,所述共享内存的类型为静态共享内存,所述待传输图像的写入方式为静态循环队列写入。
在本实施例中,大尺寸的所述待传输图像是指直接从图像采集设备中获取的大尺寸图像,其具有数据体积大、上限固定、产生频率相对稳定和数据交互频次低等特点,因此,当所述待传输图像的尺寸为大尺寸时,选择所述共享内存的类型为静态共享内存可以节省存储空间、简化编程逻辑。
而且,当所述采集周期与所述传输周期的比值不小于6时,所述待传输图像为长周期采集图像,此时所述待传输图像的写入方式为静态单一写入,此时,每个所述待传输图像通过单个所述共享内存进行通信,即存即取,当所述待传输图像完成传输后所述共享内存的空间即可释放,等待一下次的写入,以快速释放所述共享内存,进而避免所述待传输图像的传输时间较长而导致所述共享内存忘记释放或者提前释放而导致所述共享内存存在指针安全问题。
另外,当所述采集周期与所述传输周期的比值小于6、且大于2时,所述待传输图像为短周期采集图像,此时,所述共享内存的类型为静态共享内存,所述待传输图像的写入方式为静态循环队列写入,具体地,首先根据所述待传输图像的大小和所述共享内存的大小确定所述共享内存中可传输的所述待传输图像的数量和所述共享内存的存储空间分配为多个存储区域,然后,将多个所述待传输图像排列后依次写入所述共享内存的多个存储区域中,直到所述共享内存的多个所述存储区域写满后从多个所述存储区域的开头写入,如此循环,不其不仅可以较好地改善所述共享内存的吞吐性能,而且还拉长了多个所述待传输图像的写入周期,进而降低数据冒险的可能性。
而且,由于锂电池的整体形貌在检测的过程中可能会产生部分小尺寸的所述待传输图像,此时为了能够最大化利用所述共享内存的存储空间,避免所述共享内存出现闲置浪费,当所述待传输图像为小尺寸时,此时所述共享内存的类型的动态共享内存,以根据所述待传输图像的大小确定所述共享内存的大小,可以实现所述共享内存利用的最大化,以避免所述共享内存出现闲置浪费。
(3)将所述待传输图像以所述图像消息结构按照所述写入方式写入所述共享内存中。
本发明公开的图像传输方法,其在共享内存中创建图像消息结构,并将待传输图像按照图像消息结构写入共享内存中,其可以使不同格式的所述待传输图像均按照图像消息结构写入共享内存中,方便了不同格式的待传输图像的传输、读取与解析,降低了待传输图像的传输成本。
在本实施例中,该步骤通过如下过程实现:
1)获取所述待传输图像的信息序列。
2)计算所述待传输图像的摘要、并将所述摘要插入所述图像消息结构的摘要数据中。
3)将所述待传输图像的信息序列写入所述图像消息结构的信息数据中。
4)将分隔符写入所述截断标识中,在本实施例中,所述分隔符为“0”字符。
5)将所述待传输图像的元数据写入所述图像数据中。
在本实施例中,其首先获取所述待传输图像的信息序列,然后计算所述待传输图像的摘要,最后,将所述待传输图像的摘要和信息序列依次写入所述摘要数据和所述信息数据中,其仅通过所述摘要即可对所述待传输图像是否变化进行判断;而且,由于截断标识“0”字符仅设置于所述信息数据和所述图像数据之间,而所述摘要中不存在干扰字符,可以提高所述待传输图像判断的准确性。
在其他实施例中,当所述共享内存的类型为动态共享内存、且所述待传输图像的写入方式为动态写入时,步骤S1中,将待传输图像写入所述共享内存还包括:
S14:获取所述共享内存的命名管道和共享状态表,其中:所述命名管道用于对所述共享内存的信息和写入所述共享内存的数据信息进行传输;所述共享状态表用于存储所述共享内存的存储空间分配信息和数据结构。
在本实施例中,所述命名管道是具有名称的单工或双工通讯管道,其为信息传输的信道,实际应用时,首先写入方将所述待传输图像写入所述共享内存中,然后通过所述命名管道将所述共享内存的信息和写入所述共享内存的数据信息传输至读取方进行读取,还原写入所述共享内存的数据、并释放所述共享内存的存储空间;而且,所述共享状态表是一种静态和动态共享内存的组合方式,其以数据结构的方式存放写入方和读取方均已知、且预先分配好的所述共享内存的存储空间,从而通过所述共享状态表可以反映出所述共享内存的存储空间的分配状态和数据结构,而读取方通过对所述共享状态表即可获取写入所述共享内存的图像数据的结构和内容。
在本实施例中,所述命名管道相当于先进先出的缓冲队列,而所述共享状态表具有唯一性和读写保护性,其在写入之前首先确认是否已经读取完毕,所述共享内存的每次写入都会产生独立的资源区间,其可以避免所述共享内存出现写入冲突;而且,所述共享内存采用先写入后确认的方式,也可以避免所述共享内存出现同时读写的问题。
另外,为了避免写入所述共享内存中的所述待传输图像在传输过程中出现冲突,本发明首先利用内存分配机制将所述待传输图像的虚拟内存区域映射到所述共享内存的同一物理内存中,以实现数据共享;然后,对所述共享内存的多个写入方进行权限控制,以向多个写入方提供只读权限、只写权限、读写权限等多种访问权限;最后,当多个写入方对所述共享内存进行写访问时,可以向多个所述写访问提供外部协议或访问机制以避免出现和协商解决因数据竞争和数据冒险而导致的不一致问题。
S2:对写入所述共享内存的所述待传输图像依次进行读取和解析,得到所述待传输图像的元数据。
S3:利用所述待传输图像的元数据在所述共享内存中生成待显示图像、并对所述待显示图像进行显示。
在本实施例中,步骤S3包括如下步骤:
(1)获取所述待传输图像的元数据类型。
具体地,在所述共享内存中创建BitmapSource;然后利用BitmapSource从所述共享内存中传回所述待传输图像的元数据。
(2)利用所述元数据类型和所述元数据生成待显示图像。
(3)利用MVVM对象对所述待显示图像进行显示。
在本实施例中,对所述待传输图像进行显示时,其直接在所述共享内存中生产所述待显示图像,无需对所述共享内存中的数据进行拷贝即可生成所述待显示图像,减少了所述待显示图像生成时的拷贝,提高了所述待传输图像的传输效率。
S4:将已显示的所述待传输图像从所述共享内存中删除,以释放所述共享内存。
具体地,当所述状态标识表示该图像已经可以进行释放时,将已显示的所述待传输图像从所述共享内存中删除,实现所述共享内存的释放。
基于本实施例提供的图像传输方法,参照图5,本实施例还提供了图像传输装置,其包括:
创建模块1,用于在图像传输时,创建共享内存,并将待传输图像写入所述共享内存。
在本实施例中,所述创建模块1包括创建单元11和写入单元12,其中:
(1)所述创建单元11用于在所述图像传输信道中创建共享内存,其在所述共享内存中创建图像消息结构,所述图像消息结构包括依次拼接的摘要数据、信息数据、截断标识和图像数据。
(2)所述写入单元12用于将待传输图像写入所述共享内存,且包括如下步骤:
1)获取所述待传输图像的尺寸、采集周期和传输周期。
2)根据所述待传输图像的尺寸、采集周期和传输周期确定所述共享内存的类型和所述待传输图像的写入方式,且所述共享内存的类型为静态共享内存或动态共享内存,所述待传输图像的写入方式为静态单一写入、静态循环队列写入和动态写入中的一种。
具体在本实施例中,当所述待传输图像的尺寸为大尺寸、且所述采集周期与所述传输周期的比值不小于6时,所述共享内存的类型为静态共享内存,所述待传输图像的写入方式为静态单一写入;当所述待传输图像的尺寸为大尺寸、且所述采集周期与所述传输周期的比值小于6、且大于2时,所述共享内存的类型为静态共享内存,所述待传输图像的写入方式为静态循环队列写入。
3)将所述待传输图像以所述图像消息结构按照所述写入方式写入所述共享内存中,其通过如下过程实现:首先,获取所述待传输图像的信息序列;然后,计算所述待传输图像的摘要、并将所述摘要插入所述图像消息结构的摘要数据中;然后,将所述待传输图像的信息序列写入所述图像消息结构的信息数据中;然后,将分隔符写入所述截断标识中,在本实施例中,所述分隔符为“0”字符;最后,将所述待传输图像的元数据写入所述图像数据中。
而且,当所述共享内存的类型为动态共享内存、且所述待传输图像的写入方式为动态写入时,所述写入单元12用于将待传输图像写入所述共享内存还包括:获取所述共享内存的命名管道和共享状态表,其中:所述命名管道用于对所述共享内存的信息和写入所述共享内存的数据信息进行传输;所述共享状态表用于存储所述共享内存的存储空间分配信息和数据结构。
解析模块2,用于对写入所述共享内存的所述待传输图像依次进行读取和解析,得到所述待传输图像的元数据。
显示模块3,用于利用所述待传输图像的数据信息生成所述待传输图像、并对所述待传输图像进行显示。
在本实施例中,所述显示模块3包括获取单元31、图像生成单元32和图像显示单元33,其中:所述获取单元31用于获取所述待传输图像的元数据类型;所述图像生成单元32利用所述元数据类型和所述元数据生成待显示图像;所述图像显示单元33利用MVVM对象对所述待显示图像进行显示。
内存释放模块4,用于将已显示的所述待传输图像从所述图像传输信道的共享内存中删除,以释放所述图像传输信道的共享内存。
基于本实施例提供的图像传输方法,本实施例还提供了图像传输设备,所述图像传输设备可以是服务器、台式计算设备或移动计算设备(例如,膝上型计算设备、手持计算设备、平板电脑、上网本等)等终端设备,其包括:
处理器;
存储器,用于存储由所述处理器执行的计算机程序;
其中,所述处理器执行所述计算机程序时实现本实施例所述的图像传输方法。
基于本实施例提供的图像传输方法,本实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被执行时实现本实施例所述的图像传输方法。
本申请可采用在一个或多个其中包含有程序代码的存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。计算机可用存储介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括但不限于:相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
以上所述实施例仅表达了本发明的优选实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,则本发明也意图包含这些改动和变形。
Claims (7)
1.一种图像传输方法,其特征在于,包括:
S1:在图像传输时,创建共享内存,并将待传输图像写入所述共享内存;
S2:对写入所述共享内存的所述待传输图像依次进行读取和解析,得到所述待传输图像的元数据;
S3:利用所述待传输图像的元数据在所述共享内存中生成待显示图像、并对所述待显示图像进行显示;
S4:将已显示的所述待传输图像从所述共享内存中删除,以释放所述共享内存;
其中,步骤S1中,在图像传输时,创建共享内存为:
在所述共享内存中创建图像消息结构,所述图像消息结构包括依次拼接的摘要数据、信息数据、截断标识和图像数据,其中:所述摘要数据用于判断图像数据是否更新;所述信息数据包括控制参数、图像参数、图像序列号和状态标识;所述图像数据为二进制格式的元数据;
其中,步骤S1中,将待传输图像写入所述共享内存包括:
S11:获取所述待传输图像的尺寸、采集周期和传输周期;
S12:根据所述待传输图像的尺寸、采集周期和传输周期确定所述共享内存的类型和所述待传输图像的写入方式,且所述共享内存的类型为静态共享内存或动态共享内存,所述待传输图像的写入方式为静态单一写入、静态循环队列写入和动态写入中的一种;
S13:将所述待传输图像以所述图像消息结构按照所述写入方式写入所述共享内存中;
其中,步骤S12为:
当所述待传输图像的尺寸为大尺寸、且所述采集周期与所述传输周期的比值不小于6时,所述共享内存的类型为静态共享内存,所述待传输图像的写入方式为静态单一写入;
或者,当所述待传输图像的尺寸为大尺寸、且所述采集周期与所述传输周期的比值小于6、且大于2时,所述共享内存的类型为静态共享内存,所述待传输图像的写入方式为静态循环队列写入;
或者,当所述待传输图像的尺寸为小尺寸时,所述共享内存的类型为动态共享内存,所述待传输图像的写入方式为动态写入。
2.根据权利要求1所述的图像传输方法,其特征在于,所述共享内存的类型为动态共享内存,所述待传输图像的写入方式为动态写入时,步骤S1中,将待传输图像写入所述共享内存还包括:
S14:获取所述共享内存的命名管道和共享状态表,其中:所述命名管道用于对所述共享内存的信息和写入所述共享内存的数据信息进行传输;所述共享状态表用于存储所述共享内存的存储空间分配信息和数据结构。
3.根据权利要求1所述的图像传输方法,其特征在于,步骤S13包括:
S131:获取所述待传输图像的信息序列;
S132:计算所述待传输图像的摘要、并将所述摘要插入所述图像消息结构的摘要数据中;
S133:将所述待传输图像的信息序列写入所述图像消息结构的信息数据中;
S134:将分隔符写入所述截断标识中;
S135:将所述待传输图像的元数据写入所述图像数据中。
4.根据权利要求1-3任一项所述的图像传输方法,其特征在于,步骤S3包括:
S31:获取所述待传输图像的元数据类型;
S32:利用所述元数据类型和所述元数据生成待显示图像;
S33:利用MVVM对象对所述待显示图像进行显示。
5.一种图像传输装置,其特征在于,包括:
创建模块,用于在图像传输时,创建共享内存,并将待传输图像写入所述共享内存;
解析模块,用于对写入所述共享内存的所述待传输图像依次进行读取和解析,得到所述待传输图像的元数据;
显示模块,用于利用所述待传输图像的元数据在所述共享内存中生成所述待传输图像、并对所述待传输图像进行显示;
内存释放模块,用于将已显示的所述待传输图像从所述共享内存中删除,以释放所述共享内存;
其中,所述创建模块包括创建单元和写入单元;
所述创建单元,用于在所述共享内存中创建图像消息结构,所述图像消息结构包括依次拼接的摘要数据、信息数据、截断标识和图像数据,其中:所述摘要数据用于判断图像数据是否更新;所述信息数据包括控制参数、图像参数、图像序列号和状态标识;所述图像数据为二进制格式的元数据;
所述写入单元,用于获取所述待传输图像的尺寸、采集周期和传输周期;根据所述待传输图像的尺寸、采集周期和传输周期确定所述共享内存的类型和所述待传输图像的写入方式,且所述共享内存的类型为静态共享内存或动态共享内存,所述待传输图像的写入方式为静态单一写入、静态循环队列写入和动态写入中的一种;将所述待传输图像以所述图像消息结构按照所述写入方式写入所述共享内存中;
其中,所述写入单元根据所述待传输图像的尺寸、采集周期和传输周期确定所述共享内存的类型和所述待传输图像的写入方式,具体包括:当所述待传输图像的尺寸为大尺寸、且所述采集周期与所述传输周期的比值不小于6时,所述共享内存的类型为静态共享内存,所述待传输图像的写入方式为静态单一写入;或者,当所述待传输图像的尺寸为大尺寸、且所述采集周期与所述传输周期的比值小于6、且大于2时,所述共享内存的类型为静态共享内存,所述待传输图像的写入方式为静态循环队列写入;或者,当所述待传输图像的尺寸为小尺寸时,所述共享内存的类型为动态共享内存,所述待传输图像的写入方式为动态写入。
6.一种图像传输设备,其特征在于,包括:
处理器;
存储器,用于存储由所述处理器执行的计算机程序;
其中,所述处理器执行所述计算机程序时实现权利要求1-4中任一项所述的图像传输方法。
7.一种计算机可读存储介质,其特征在于,其上存储有计算机程序,所述计算机程序被执行时实现权利要求1-4中任一项所述的图像传输方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310203355.XA CN116204337B (zh) | 2023-03-03 | 2023-03-03 | 一种图像传输方法、装置、设备和计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310203355.XA CN116204337B (zh) | 2023-03-03 | 2023-03-03 | 一种图像传输方法、装置、设备和计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN116204337A CN116204337A (zh) | 2023-06-02 |
CN116204337B true CN116204337B (zh) | 2024-04-09 |
Family
ID=86509247
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310203355.XA Active CN116204337B (zh) | 2023-03-03 | 2023-03-03 | 一种图像传输方法、装置、设备和计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116204337B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733344A (zh) * | 2018-05-28 | 2018-11-02 | 深圳市道通智能航空技术有限公司 | 数据读写方法、装置以及环形队列 |
CN111698530A (zh) * | 2020-05-27 | 2020-09-22 | 深圳壹账通智能科技有限公司 | 视频传输方法、装置、设备及计算机可读存储介质 |
CN112616024A (zh) * | 2020-12-31 | 2021-04-06 | 深兰科技(上海)有限公司 | Usb摄像头数据获取方法、装置、电子设备和存储介质 |
CN113724521A (zh) * | 2021-07-19 | 2021-11-30 | 阿里巴巴新加坡控股有限公司 | 图像数据处理方法、装置、设备及计算机程序产品 |
CN113950033A (zh) * | 2020-07-17 | 2022-01-18 | 华为技术有限公司 | 数据传输方法和设备 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102017203048B3 (de) * | 2017-02-24 | 2018-03-15 | Siemens Healthcare Gmbh | Verfahren zum Bestimmen eines Projektionsdatensatzes, Projektionsbestimmungssystem, Computerprogrammprodukt und computerlesbares Speichermedium |
-
2023
- 2023-03-03 CN CN202310203355.XA patent/CN116204337B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108733344A (zh) * | 2018-05-28 | 2018-11-02 | 深圳市道通智能航空技术有限公司 | 数据读写方法、装置以及环形队列 |
CN111698530A (zh) * | 2020-05-27 | 2020-09-22 | 深圳壹账通智能科技有限公司 | 视频传输方法、装置、设备及计算机可读存储介质 |
CN113950033A (zh) * | 2020-07-17 | 2022-01-18 | 华为技术有限公司 | 数据传输方法和设备 |
CN112616024A (zh) * | 2020-12-31 | 2021-04-06 | 深兰科技(上海)有限公司 | Usb摄像头数据获取方法、装置、电子设备和存储介质 |
CN113724521A (zh) * | 2021-07-19 | 2021-11-30 | 阿里巴巴新加坡控股有限公司 | 图像数据处理方法、装置、设备及计算机程序产品 |
Non-Patent Citations (1)
Title |
---|
W. Richard Stevens.UNIX网络编程卷 2(第 2版).人民邮电出版社,2010,(第2版),第 4.6节和第 12.1节. * |
Also Published As
Publication number | Publication date |
---|---|
CN116204337A (zh) | 2023-06-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11010681B2 (en) | Distributed computing system, and data transmission method and apparatus in distributed computing system | |
US7987160B2 (en) | Status tool to expose metadata read and write queues | |
CN111913659B (zh) | 块数据处理方法、装置、系统及存储介质 | |
US20090079729A1 (en) | Rendering three-dimensional objects on a server computer | |
CN109445685B (zh) | 一种用户态文件系统处理方法 | |
CN109885577A (zh) | 数据处理方法、装置、终端及存储介质 | |
CN113127228A (zh) | 图形渲染方法、服务器和计算机可读存储介质 | |
CN114840354A (zh) | 实现进程间高效处理数据请求的方法及系统 | |
CN115827506A (zh) | 数据写入方法、数据读取方法、装置、处理核和处理器 | |
CN116204337B (zh) | 一种图像传输方法、装置、设备和计算机存储介质 | |
CN107247785B (zh) | 一种静态只读地图文件生成方法和装置 | |
US10198784B2 (en) | Capturing commands in a multi-engine graphics processing unit | |
CN102270179B (zh) | 用于cad系统的基于片元的数据存储和处理方法及其系统 | |
CN112000589A (zh) | 一种数据写入方法、数据读取方法、装置及电子设备 | |
US8041903B2 (en) | Processor and method for controlling memory | |
CN111414339A (zh) | 一种文件的处理方法、系统、装置、设备及介质 | |
CN112989437B (zh) | Ofd文档处理方法、传输方法及系统 | |
CN111343404B (zh) | 成像数据处理方法及装置 | |
CN114328007A (zh) | 一种容器备份还原方法、装置及其介质 | |
CN111475589B (zh) | 图像数据的渲染方法及装置 | |
CN115104092A (zh) | 数据同步方法及相关装置 | |
CN110825652B (zh) | 淘汰磁盘块上的缓存数据的方法、装置及设备 | |
US7932902B2 (en) | Emitting raster and vector content from a single software component | |
CN111913657B (zh) | 块数据读写方法、装置、系统及存储介质 | |
CN113568578B (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 | ||
CB02 | Change of applicant information |
Country or region after: China Address after: Room 101-301, Building 3, No. 9, Huijiang South 2nd Road, Dashi Street, Panyu District, Guangzhou City, Guangdong Province, 5114300 Applicant after: Guangzhou Yihong Intelligent Equipment Co.,Ltd. Address before: Room 101-301, Building 3, No. 9, Huijiang South 2nd Road, Dashi Street, Panyu District, Guangzhou City, Guangdong Province, 5114300 Applicant before: GUANGZHOU EHOLLY INTELLIGENT EQUIPMENT Co.,Ltd. Country or region before: China |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |