掌桥专利:专业的专利平台
掌桥专利
首页

一种任意形状ROI信息压缩处理方法、系统、介质及设备

文献发布时间:2023-06-19 11:05:16


一种任意形状ROI信息压缩处理方法、系统、介质及设备

技术领域

本发明涉及图像处理技术领域,特别涉及一种任意形状ROI信息压缩处理方法、系统、介质及设备。

背景技术

视觉分析过程中,软件采集到相机的图像后,只需要截取图像感兴趣的区域(Region of Interest),以下简称为ROI进行分析,以减少工作量,提高效率。软件分析图像的过程中,分为很多个子程序(或者叫功能块),每个子程序的ROI可能都是不同的。所以一个相机需要很多个ROI。尤其是多相机系统,相机的数量很多,因此整个多相机系统的ROI数量是非常庞大的,会消耗很大的内存。因此,如何降低ROI信息占用的空间是亟待解决的问题。

目前,市场上的软件截取ROI,采用的办法为截取长方形、圆形等等有规则的区域图像。这些方法只需要描述区域的顶点即可,对内存需求很小。但该方法的缺点是不可避免地会将想要的ROI以外的无用区域也纳入ROI中,如申请号为CN201910510743.6,公布日期为2020年12月15日的中国发明专利公开的一种图像处理方法、一种图像处理装置以及一种检测设备,采用的框选的方式截取ROI,因此,需要后续对ROI进行无效区域的识别和处理,极大的增加了运算量。

此外,还有描述任意区域ROI的方法,即对ROI内的所有像素点的坐标进行记录存储,但是此方法依然存在占用空间较大的问题无法解决。

发明内容

为解决上述现有技术中任意形状ROI信息占用空间较大的问题,本发明提供了一种任意形状ROI信息存储方法,包括以下步骤:

S10:对原始图像进行预处理,并在处理后的所述图像中对非ROI的区域进行标记;

S20:根据标记后的所述图像生成二值化矩阵,所述二值化矩阵中对应已标记像素点的元素值置为第一数值,其他元素值置为第二数值;

S30:取所述二值化矩阵中包括所有所述第二数值的最小子矩阵作为第一ROI信息矩阵,并记录所述第一ROI信息矩阵在所述二值化矩阵中的位置以及长宽信息作为第一信息;

S40:将所述ROI信息矩阵序列化为O1串,将所述01串和所述第一信息作为ROI信息进行存储。

进一步地,步骤S110中所述预处理包括将所述原始图像转变为RGB三维矩阵,所述RGB三维矩阵包括叠加的三个二维矩阵R、G和B,并将其中任意一维的矩阵所有元素数值增加1-20。

进一步地,步骤S110中所述对非ROI的区域进行标记包括将所述非ROI的区域设为全黑。

进一步地,所述二值化矩阵为元素对应所述图像中的所有像素点的二维矩阵,所述二值化矩阵中对应已标记像素点的元素值置为第一数值,其他元素值置为第二数值。

进一步地,所述第一数值为1,所述第二数值为0。

进一步地,所述第一信息包括所述第一ROI信息矩阵中处于对角位置的一对元素在所述二值化矩阵中的坐标。

进一步地,步骤S40中通过以下步骤将所述第一ROI信息矩阵序列化为所述O1串:

S41:将所述第一ROI信息矩阵中的所有第一数值均置为1,第二数值均置为0,获得转换矩阵;

S42:依次将所述转换矩阵中的所有元素按顺序排列,获得所述01串。

本发明还提供一种任意形状ROI信息压缩处理系统,包括预处理模块、二值化模块、第一ROI信息矩阵获取模块和ROI信息生成存储模块;

所述预处理模块用于对原始图像进行预处理,并在处理后的所述图像中对非ROI的区域进行标记;

所述二值化模块用于根据标记后的所述图像生成二值化矩阵,所述二值化矩阵中对应已标记像素点的元素值置为第一数值,其他元素值置为第二数值;

第一ROI信息矩阵获取模块用于取所述二值化矩阵中包括所有所述第二数值的最小子矩阵作为第一ROI信息矩阵,并记录所述第一ROI信息矩阵在所述二值化矩阵中的位置以及长宽信息作为第一信息;

所述ROI信息生成存储模块用于将所述ROI信息矩阵序列化为O1串,将所述01串和所述第一信息作为ROI信息进行存储。

本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机被处理器执行时实现如权利要求1-7任一项所述的一种任意形状ROI信息压缩处理方法。

本发明还提供一种计算机设备,包括至少一个处理器、及与所述处理器通信连接的存储器,其中所述存储器存储可被至少一个处理器执行的指令,所述指令被至少一个处理器执行,以使所述处理器执行如权利要求1-7任一项所述的一种任意形状ROI信息压缩处理方法。

与现有技术相比,本发明提供的一种任意形状ROI信息压缩处理方法,通过对图像进行预处理后标记非ROI区域,进行二值化处理之后获取包含ROI的第一ROI信息矩阵,将ROI信息矩阵序列化为01串进行存储的方式存储ROI信息,与现有技术中对ROI的每个元素的坐标进行存储的技术方案相比,本发明极大程度的节省了空间。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。

图1为本发明提供的一种任意形状ROI信息压缩处理方法流程图;

图2为实施例一涉及的任意形状的ROI示例图;

图3为实施例一的步骤流程图;

图4为实施例一的RGB三维矩阵示例图;

图5为实施例一第一ROI信息矩阵的获取示意图;

图6为实施例二的步骤流程图;

图7为实施例二中ROI信息加载流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

在本发明的描述中,需要说明的是,术语“中心”、“纵向”、“横向”、“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性。

本发明提供了一种任意形状ROI信息压缩处理方法,如图1所示,包括以下步骤:

S10:对原始图像进行预处理,并在处理后的所述图像中对非ROI的区域进行标记;

S20:根据标记后的所述图像生成二值化矩阵,所述二值化矩阵中对应已标记像素点的元素值置为第一数值,其他元素值置为第二数值;

S30:取所述二值化矩阵中包括所有所述第二数值的最小子矩阵作为第一ROI信息矩阵,并记录所述第一ROI信息矩阵在所述二值化矩阵中的位置以及长宽信息作为第一信息;

S40:将所述ROI信息矩阵序列化为O1串,将所述01串和所述第一信息作为ROI信息进行存储。

具体实施时,见实施例一。

想要获取如图2所示的不规则形状的ROI(黑色区域)信息并进行存储,仅用简单形状的顶点以及尺寸参数进行描述,必然会包括到ROI之外的冗余信息,对ROI内的每个像素的坐标进行存储又存在占用空间大影响运行速度的问题。对此,如图3所示本实施例通过以下步骤获取ROI信息并进行存储。

步骤1:对原始图像进行预处理,在采集上来的原始图像上,将图像转变为RGB三维矩阵,并将其中任意一维的矩阵所有元素数值加1-20,其中每一维的元素值最大为255,增值后,超过255的设置为255;较佳地,增值设为1。

步骤2:在处理后的所述图像中对非ROI的区域进行标记,在处理完的图像上,按照既定的ROI,用全黑的黑色画笔将ROI之外的区域填充,此步骤可由人工完成,也可由计算机程序完成,其中全黑的颜色,元素值R=0,G=0,B=0。

步骤3:根据上述标记获取二值化矩阵,本实施例中,如图4所示,将标记后的图像转变为RGB三维矩阵,RGB三维矩阵包括叠加的三个二维矩阵R、G和B,通过将二值化矩阵中对应三个二维矩阵R、G和B三个二维矩阵中元素值均为0的元素值赋值为第一数值,其他的元素值均赋值为第二数值,由此获得一个如图5所示的包含任意形状的图像的二值图,其中,第一数值为0,第二数值为1;较佳地,第一数值还可以为1,第二数值可以为0。

步骤4:如图5所示,取所述二值化矩阵中包括所有第二数值的最小子矩阵作为第一ROI信息矩阵,并获取第一ROI信息矩阵在二值化矩阵中的位置以及长宽信息作为第一信息,本实施例中,获取得第一信息采用但不限于第一ROI信息矩阵的位于左上角和右下角的点在二值化矩阵中的坐标,如图6所示,左上坐标为(2,2)(第2行,第2列),右下坐标为(3,4),其中既包含了位置关系又包含了第一ROI信息矩阵的长宽信息。同理,第一信息的形式也可采用第一ROI信息矩阵位于左下角和右上角的点在二值化矩阵中的坐标;第一信息的形式还可才采用第一ROI信息矩阵某顶点坐标及长宽信息。

步骤5:将第一ROI信息矩阵序列化为O1串,本实施例中,首先将第一ROI信息矩阵中的所有第一数值均置为1,第二数值均置为0,或者将所有第一数值均置为0,第二数值均置为1,获得转换矩阵;然后将转换矩阵的所有元素值按顺序依次排列形成一个由0和1组成的二进制01串,将所述01串和第一信息作为ROI信息进行存储,如对图5所示的第一ROI信息矩阵进行序列化后的得到01串“110011”,极大的压缩了ROI信息存储占用的空间,。

本实施例中,步骤1中将其中任意一维的矩阵所有元素数值加1,目的是让这张图的所有颜色都不是全黑的,以免之后使用全黑色对非ROI区域进行标记操作影响到原本ROI内的全黑色区域,而且加1的操作虽然会改变原有图像,但视觉上并没有感觉,同时目的是为了获取ROI区域,而不是对图像进行分析,所以这种办法,既保证了感官上的微小变化,同时又对获取ROI带来了极大的方便。此外,如果采用记录任意形状的所有点的坐标,按照8位无符号的字节类型(uint8),一个坐标需要两个uint8的数据,假设一共有1000个坐标,就需要2*8*1000=16000个uint8的数据,开辟的内存就是16000*8=144000,即大约0.14M的空间。而采用本发明,只需要四个uint8的描述左上坐标和右下坐标,加上1000个布尔型的数据,消耗的总内存是4*8+1*1000=1032,大约1K的内存,即使一个包括任意形状的矩形中间有90%的内容不属于任意形状本身的,即需要10倍的1000个点来描述矩形,总的内存消耗也只有4*8+1*1000+9*1000=10032,大约10K的内存,相比0.14M,也节约了90%多的空间,所以总的内存消耗得到了很大的节约。处理这个获取任意形状的区域的过程,都是在非检测运行阶段,消耗的时间跟检测运行阶段没有任何关系,也就是,即使这过程需要几百毫秒,也并不会影响检测的效率。因此,本发明提供的一种任意形状ROI信息存储方法在不影响运行速度的前提下极大程度上的降低了存储花费的空间。

本发明还提供了一种应用ROI信息对图像ROI进行切割的方法,包括以下步骤:

S210:对ROI信息进行加载以获得第一信息并生成第二ROI信息矩阵A;

S220:对所述第二ROI信息矩阵A进行运算得矩阵A

S230:使用所述第一信息对原始图像进行矩形切割,并将矩形区域内的图像转换为RGB三维矩阵,所述RGB三维矩阵包括叠加的三个二维矩阵R、G和B;

S240:依次以所述矩阵R、G和B作为对象矩阵D,使用所述矩阵A

S250:将矩阵R

具体实施时,见实施例二。

进入检测运行阶段,先加载参数,将保存的ROI信息读入内存块;然后在检测过程中,快速切割采集上来的图像,只对ROI进行处理。该部分分为两块,一是加载参数阶段,将保存的ROI信息读入内存块。二是检测过程中,快速切割采集上来的图像,只对ROI进行处理。具体地,如图6所示,检测运行阶段包括以下步骤。

步骤10:对ROI信息进行加载以获得第一信息并生成第二ROI信息矩阵A。

步骤20:对第二ROI信息矩阵A进行倍乘运算获得矩阵A

步骤30:根据第一信息的左上坐标和右下坐标的位置快速切割采集上来的图像;虽然我们感兴趣的信息是任意形状的信息,但是为了快速切割图像进行处理,需要采用矩形切割的办法,而且这样才能保证下一步的工艺计算,比如对图像进行轮廓分离,所以对采集上来的图像,首先是进行最小矩形的切割。

步骤40:将矩形区域内的图像转换为RGB三维矩阵,所述RGB三维矩阵包括叠加的三个二维矩阵R、G和B,较佳地,由于二维矩阵R、G和B储存的元素值均在0-255之间,因此二维矩阵R、G和B采用但不限于unit8格式矩阵,以确保图像所占空间最小;

步骤50:依次以矩阵R、G和B作为对象矩阵D,使用矩阵A

步骤60:将目标矩阵R

步骤70:销毁所有临时矩阵,释放临时内存。释放临时内存,比如矩阵A1、A2等等,这些变量都属于子程序的局部变量,到子程序执行完毕,这些矩阵占有的内存自动得到释放。所以只有在执行子程序的时候,ROI占有的内存才会扩大配合运算,而在没有被执行的时候,ROI占有的内存都是最小化的。因此总的内存消耗都处于很低水平。

其中,如图7所示,步骤10中ROI的信息加载包括以下步骤:

步骤11:读入ROI信息,保存的左上坐标和右下坐标数据以及01串。

步骤12:确定矩阵的长L和宽W。

步骤13:建立L*W的空二维矩阵;较佳地,采用列表list函数创建一个L*W的空二维矩阵。

步骤14:调用ROI信息序列01串。

步骤15:反序列化,按01串的序列顺序,依次对空二维矩阵所有元素赋值获得所述第二ROI信息矩阵A。

步骤16:将二维矩阵A放入子程序(功能块)的内存空间,供后续功能调用。

此外,步骤50中对对象矩阵D进行切割生产目标矩阵的过程包括以下步骤:

步骤51:提取对象矩阵D并转变为uint16格式,由于对象矩阵D原本为unit8格式,为避免数据溢出,需临时将对象矩阵D的内存设置为uint16类型。

步骤52:将对象矩阵D与矩阵A

步骤53:将矩阵A

步骤54:将矩阵A

步骤50中,通过使用经过倍乘运算的第二ROI信息矩阵A得到的矩阵A

本发明提供的一种应用ROI信息对图像ROI进行切割的方法则使用任意形状的ROI信息将图像的ROI切割出来,且切割过程所占用的内存容量很低,有利于进行大批量的图像处理。在检测运行过程中,相比通过原始坐标矩阵的运算,也只是多了一个将矩阵乘以常数256的运算,以及一个该放大矩阵(乘256倍后的矩阵)加原图矩阵的运算,这两个运算过程消耗的时间都是微妙级别的,因此对整个运算消耗的时间(毫秒级别)影响微乎其微,效率一样可以保证。

本发明还提供一种任意形状ROI信息处理系统,包括ROI信息生成存储模块、加载模块和切割模块;

具体实施时,设置ROI信息生成存储模块用于将在原始图像上确定好的ROI转换为01串形式的ROI信息进行存储,以节省存储空间;

加载模块用于将所述ROI信息转换为第二ROI信息矩阵A,以用于图像处理;

切割模块用于使用所述ROI信息将原始图像的ROI部分切割出来。

本发明提供的一种任意形状ROI信息存储方法,通过对图像进行预处理后标记非ROI区域,进行二值化处理之后获取包含ROI的第一ROI信息矩阵,将ROI信息矩阵序列化为01串进行存储的方式存储ROI信息,与现有技术中对ROI的每个元素的坐标进行存储的技术方案相比,本发明极大程度的节省了空间。此外,本发明提供的一种应用ROI信息对图像ROI进行切割的方法则使用任意形状的ROI信息将图像的ROI切割出来,且切割过程所占用的内存容量很低,有利于进行大批量的图像处理。

本发明还提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机指令,所述计算机被处理器执行时实现如上所述的一种任意形状ROI信息存储方法和/或如上所述的应用ROI信息对图像ROI进行切割的方法。

具体实施时,计算机可读存储介质为磁碟、光盘、只读存储记忆体(Read-OnlyMemory,ROM)、随机存储记忆体(Random Access Memory,RAM)、快闪存储器(FlashMemory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;计算机可读存储介质还可以包括上述种类的存储器的组合。

本发明还提供一种电子设备,包括至少一个处理器及与所述处理器通信连接的存储器,其中所述存储器存储可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行,以使所述处理器执行如上所述的一种任意形状ROI信息存储方法和/或如上所述的应用ROI信息对图像ROI进行切割的方法。

具体实施时,处理器的数量可以是一个或多个,处理器可以为中央处理器,(Central Processing Unit,CPU)。处理器还可以为其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific IntegratedCircuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等芯片,或者上述各类芯片的组合。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。

存储器与处理器可以通过总线或其他方式通信连接,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使处理器执行如上所述的一种任意形状ROI信息存储方法和/或如上所述的应用ROI信息对图像ROI进行切割的方法。

尽管本文中较多的使用了诸如原始图像、二值化矩阵、第一ROI信息矩阵、第一信息、O1串、ROI信息、第二ROI信息矩阵和RGB三维矩阵等术语,但并不排除使用其它术语的可能性。使用这些术语仅仅是为了更方便地描述和解释本发明的本质;把它们解释成任何一种附加的限制都是与本发明精神相违背的。

最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

相关技术
  • 一种任意形状ROI信息压缩处理方法、系统、介质及设备
  • 一种任意形状ROI截取方法、系统、介质及设备
技术分类

06120112791777