CN105577986B - 基于膨胀腐蚀的图像处理系统及图像处理方法 - Google Patents
基于膨胀腐蚀的图像处理系统及图像处理方法 Download PDFInfo
- Publication number
- CN105577986B CN105577986B CN201610050677.5A CN201610050677A CN105577986B CN 105577986 B CN105577986 B CN 105577986B CN 201610050677 A CN201610050677 A CN 201610050677A CN 105577986 B CN105577986 B CN 105577986B
- Authority
- CN
- China
- Prior art keywords
- data
- chip
- memory
- image
- external memory
- 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
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/14—Picture signal circuitry for video frequency region
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N5/00—Details of television systems
- H04N5/222—Studio circuitry; Studio devices; Studio equipment
- H04N5/262—Studio circuits, e.g. for mixing, switching-over, change of character of image, other special effects ; Cameras specially adapted for the electronic generation of special effects
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Image Processing (AREA)
- Image Input (AREA)
Abstract
本发明涉及图像处理领域,公开了一种基于膨胀腐蚀的图像处理方法及图像处理系统。本发明中,包含以下步骤:计算单帧图像中的背景标识离散点,获取所述背景标识离散点的图像帧;对所述背景标识离散点的图像帧进行反复膨胀,得到边沿连续的图像;对经所述反复膨胀后的图像进行多次腐蚀;对经所述腐蚀后的图像进行背景去除,标识出封闭边沿的目标;其中,由运算处理模块执行所述膨胀和所述腐蚀的处理。利用膨胀腐蚀算法对图像进行多次处理,最终能够显式地分离出图像的前景目标和背景效果,提高了图像处理的效率,保证了图像处理的效果,且实施方式简便,便于推广。
Description
技术领域
本发明涉及图像处理领域,特别涉及一种基于膨胀腐蚀的图像处理技术。
背景技术
膨胀的具体操作是:用一个结构元素(一般是3×3的大小)扫描图像中的每一个像素,将结构元素中的每一个像素与其覆盖的像素做“或”操作,如果都为0,则该像素为0,否则为1。
在图1a中,图像A是被处理图像,图像X是结构元素,标有origin的点是中心点,即当前处理元素的位置。膨胀的方法是,拿X的中心点和A上的点一个一个地比对,如果X上有一个点落在A的范围内,则该点就为黑。图片B是图像A膨胀1次后的结果,图片C为图像A膨胀两次后的结果。
其中,100为原始有效点;101为原始无效点;102为膨胀1次后增加的点;103为膨胀2次后增加的点。
腐蚀的具体操作是:用一个结构元素(一般是3×3的大小)扫描图像中的每一个像素,将结构元素中的每一个像素与其覆盖的像素做“与”操作,如果都为1,则该像素为1,否则为0。
在图1b中,左边是被处理的图象A~。腐蚀的方法是,拿X的中心点和A~上的点一个一个地对比,如果X上的所有点都在A~的范围内,则该点保留,否则将该点去掉。B~是腐蚀1次后的结果,C~为腐蚀两次的结果。
其中,104为腐蚀一次去掉的点;105为腐蚀两次去掉的点。
对于膨胀而言,只要以当前点为中心的3×3块中任一点为1当前点就置1了;腐蚀与之相反,但并不是逆运算;一幅图像先膨胀后腐蚀以后不一定能得到原图像。
膨胀腐蚀合并结果如图1c所示,为原始图像A经过2次膨胀,2次腐蚀之后的结果。
在现有技术中,图像处理过程较为复杂,且处理过程中的效率不高,不能清晰的分离出图像的前景目标和背景效果,影响用户体验。
发明内容
本发明的目的在于提供一种基于膨胀腐蚀的图像处理系统及图像处理方法,其目的在于利用膨胀腐蚀算法对图像进行多次处理,最终能够显式地分离出图像的前景目标和背景效果,提高了图像处理的效率,保证了图像处理的效果,且实施方式简便,便于推广。
为解决上述技术问题,本发明的实施方式提供了一种基于膨胀腐蚀的图像处理方法,包含以下步骤:
计算单帧图像中的背景标识离散点,获取所述背景标识离散点的图像帧;
对所述背景标识离散点的图像帧进行反复膨胀,得到边沿连续的图像;
对经所述反复膨胀后的图像进行多次腐蚀;
对经所述腐蚀后的图像进行背景去除,标识出封闭边沿的目标;
其中,由运算处理模块执行所述膨胀和所述腐蚀的处理。
本发明的实施方式还提供了一种基于膨胀腐蚀的图像处理系统,包含:图像帧获取模块,用于计算单帧图像中的背景标识离散点,获取所述背景标识离散点的图像帧;
运算处理模块,用于对所述背景标识离散点的图像帧进行反复膨胀,得到边沿连续的图像;并对经所述反复膨胀后的图像进行多次腐蚀;
背景处理模块,用于对经所述腐蚀后的图像进行背景去除,标识出封闭边沿的目标。
本发明实施方式相对于现有技术而言,通过计算单帧图像中的背景标识离散点,获取所述背景标识离散点的图像帧;对所述背景标识离散点的图像帧进行反复膨胀,得到边沿连续的图像;对经反复膨胀后的图像再进行多次腐蚀;然后对经腐蚀后的图像进行背景去除,进而标识出封闭边沿的目标。通过多次对图像进行膨胀与腐蚀操作处理,能够显式分离出图像的前景目标与背景,提高了图像处理过程中的效率,避免了图像处理过程中繁重的工作量,适合在图像处理领域推广。
作为进一步改进,背景标识离散点的图像帧保存在片外存储器内;在所述运算处理模块执行所述膨胀和所述腐蚀的处理之前,还包含:将所述片外存储器存储的数据,缓存至片内存储装置中;将所述片内存储装置缓存的数据输出至运算处理模块;将所述运算模块处理完毕的数据输出至片外存储器。
其中,所述片外存储器的存储容量大于片内存储装置的存储容量;所述片外存储器的读写速度小于片内存储装置的读写速度。这种改进方式充分利用了片外存储器存储容量大和片内存储装置存取速度快的优点,能够快速高效的完成大数据量的读取与处理。
作为进一步改进,在所述运算处理模块执行所述膨胀的处理之前,还包含:在所述图像帧的首行前、尾行后分别填充一行全为1的数据,在所述图像帧的首列前、尾列后分别填充一列全为1的数据;
在所述运算处理模块执行所述腐蚀的处理之前,还包含:在所述图像帧的首行前、尾行后分别填充一行全为0的数据,在所述图像帧的首列前、尾列后分别填充一列全为0的数据。
这种改进方式一方面方便运算处理模块对图像数据进行处理,另一方面,做膨胀操作前,在图像帧的首行前、尾行后、首列前、尾列后分别填充一行全为1的数据;以及在做腐蚀操作前,在图像帧的首行前、尾行后、首列前、尾列后分别填充一行全为0的数据,可以使得被处理的数据刚好位于结构元素的中心。
作为进一步改进,所述片内存储装置包含第一片内存储器和第二片内存储器;所述将片外存储器存储的数据,缓存至片内存储装置的步骤中,将所述片外存储器存储的数据,交替缓存到所述第一片内存储器和所述第二片内存储器中;所述将片内存储装置缓存的数据输出至运算处理模块的步骤中,将所述第一片内存储器和所述第二片内存储器内缓存的数据,与所述片外存储器内存储的数据拼接后输出至所述运算处理模块。
本实施方式中,充分利用片外存储器存储容量大和片内存储器存取速度快的优点,将片外存储器存储的大容量数据交替缓存到片内存储装置中,并且将两行片内存储器中存储的数据与片外存储器中存储的数据拼接以方便后续运算处理模块对数据进行处理,提高了整个图像处理过程中的效率。
作为进一步改进,将所述片外存储器存储的数据,交替缓存到所述第一片内存储器和所述第二片内存储器的步骤中,将所述片外存储器存储的数据,经先入先出FIFO模块交替缓存到所述第一片内存储器和所述第二片内存储器中。增加先入先出FIFO模块,可以起到蓄峰平谷的作用。
作为进一步改进,所述FIFO模块为异步FIFO模块。
本实施方式的优点是:当大量数据从总线流向数据缓存控制模块时,如果不使用异步FIFO模块,数据会全部涌入数据缓存控制模块的输入端口,可能会造成输入端口被堵死。当使用了异步FIFO模块时,数据会平稳流向数据缓存控制模块的输入端口,不仅能够起到蓄峰平谷的作用,同时还可以处理跨时钟域,减少耦合,避免片外存储器和片内存储器相互等待,从而为后续设计提供稳定的数据。
作为进一步改进,所述第一片内存储器和所述第二片内存储器均为双端口片内存储器。本实施方式使得片内存储器可以同时进行读写操作,提高了片内存储器的读写效率。
所述第一片内存储器、所述第二片内存储器和所述片外存储器的数据位宽均为64位,地址位宽均为16位。本实施方式可以满足图像处理过程中高效快速读写数据的需求,同时提高了吞吐带宽。
作为进一步改进,所述运算处理模块执行所述膨胀处理时,采用3x3大小的结构元素,或采用5x5大小的结构元素,进行所述膨胀处理;
所述运算处理模块执行所述腐蚀处理时,采用3x3大小的结构元素,或采用5x5大小的结构元素,进行所述腐蚀处理。
本实施方式中的结构元素可以为3X3大小,也可以为5X5大小,丰富了图像处理过程中结构元素的表现形式,用户可根据情况酌情使用。
附图说明
图1a是膨胀原理的示意图;
图1b是腐蚀原理的示意图;
图1c是原始图像经过两次膨胀两次腐蚀合并之后的示意图;
图2是根据本发明第一实施方式的基于膨胀腐蚀的图像处理方法的流程图;
图3是应用本发明第一实施方式中基于膨胀腐蚀的图像处理方法的系统框图;
图4是双端口sram结构图;
图5是根据本发明第一实施方式的数据缓存原理图;
图6是本发明第一实施方式中腐蚀不考虑边界时的效果图;
图7是应用本发明第二实施方式的基于膨胀腐蚀的图像处理方法的系统框图;
图8是根据本发明第三实施方式的基于膨胀腐蚀的图像处理系统框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明的各实施方式进行详细的阐述。然而,本领域的普通技术人员可以理解,在本发明各实施方式中,为了使读者更好地理解本申请而提出了许多技术细节。但是,即使没有这些技术细节和基于以下各实施方式的种种变化和修改,也可以实现本申请各权利要求所要求保护的技术方案。
本发明的第一实施方式涉及一种基于膨胀腐蚀的图像处理方法,流程图如图2所示。
结合流程图2所示的内容具体介绍本发明的实施方式:
步骤101中,获取背景标识离散点的图像帧。在实际应用中可以先对单帧图像中的背景标识离散点进行计算,进而获取获取背景标识离散点的图像帧。
需要说明的是,背景标识离散点的图像帧数据保存在片外存储器内,即图3所示dram,片外存储器具有存储容量大的优点。
步骤102中,对背景标识离散点的图像帧进行反复膨胀。
需要说明的是,本发明实施方式中由运算处理模块(结合图3所示)对背景标识离散点的图像帧进行反复膨胀处理,所以在执行对背景标识离散点的图像帧进行反复膨胀之前,需要将背景标识离散点的图像帧数据由片外存储器传输至运算处理模块。
本发明实施方式中为了提高图像处理过程中的运算效率,可以采用将片外存储器存储的数据,缓存至片内存储装置中,将所述片内存储装置缓存的数据输出至运算处理模块的方式。需要说明的是,用户在具体实施时可以结合自身设计采用其他方式将片外存储器存储的数据传输至运算处理模块,本实施方式对此不做限定。
其中,为了进一步提高图像处理过程中的运算效率,可以将片内存储装置分为第一片内存储器(图3中sram0)和第二片内存储器(图3中sram1)。在具体实现时,就可以将背景标识离散点的图像帧数据交替缓存至第一片内存储装置和第二片内存储装置。
需要补充的是,对于第一片内存储器sram0、第二片内存储器sram1的选取,本实施方式中可以采用双端口、数据位宽为64位、地址位宽为16位的片内sram存储器。值得说明的是,单端口sram在读操作的时候,写操作是不允许的;在写操作的时候,读操作是不允许的,这样限制了本实施方式中高速读写的要求。但是当采用双端口sram进行读写的时候,读操作与写操作是分离的,读写操作可以同时进行,这样大大提升了读写速度。选择数据位宽64位是为了满足读写数据量大的需求。如果选择数据位宽略小,单位时间内读写的数据量就会降低,64位数据位宽的选取可以间接地提升了读写速度。
为了更加详细说明本发明的实施方式,先简要介绍下双端口sram的结构,结合图4所示。该双端口sram的数据位宽64位,地址位宽16位。分为a口与b口,a_clk/b_clk为时钟信号;a_cs_n/b_cs_n为使能信号,低电平有效;a_wr_n/b_wr_n为读写信号,低电平写有效,高电平读有效;a_addr/b_addr为地址信号;a_din/b_din代表输入数据;a_dout/b_dout代表输出数据。
sram的控制时序为:当a_cs_n/b_cs_n为低电平,且a_wr_n/b_wr_n为低电平时,当前时刻的a_addr/b_addr与a_din/b_din有效,数据送入sram中;当a_cs_n/b_cs_n为低电平,且a_wr_n/b_wr_n为高电平时,当前时刻的a_addr/b_addr有效,送入sram中,下一个时刻的a_dout/b_dout有效,作为输出信号输出。对于双端口sram,端口a的读写操作不会影响端口b的读写操作。
对片内sram的操作可以通过片选信号cs_n、读写使能信号wr_n(wr_n为低执行写操作,wr_n为高执行读操作)完成。当wr_n为低且cs_n为低时,当前时刻的地址信号addr与数据信号din送入sram,完成写操作;当wr_n为高且cs_n为低时,当前时刻的地址信号addr送入sram,下一个时刻的数据信号dout有效,完成读操作。
也就是说,当片内sram0写使能有效时,片外存储器存储的背景标识离散点的图像帧数据写入sram0中,实现数据缓存的功能;下一个时刻,如果sram1的写使能有效,片外存储器存储的背景标识离散点的图像帧的第二行数据送入sram1,此时,两块sram均完成了缓存数据的功能。也就完成了将背景标识离散点的图像帧数据交替缓存到第一片内存储装置和第二片内存储装置中。
需要注意的是,通过总线bus的读写,在数据缓存控制模块line_buf_ctrl中产生sram的读写使能信号,sram的读写使能信号与图4的时序需要严格一致。
一般说来,可以利用3行sram直接缓存dram中的数据,然后将3行sram的数据直接送到下一个运算处理模块。但是为了提高读写效率,本实施方式将使用3行sram改成使用2行sram,第3行的数据可以由片外存储器中获取,这样做的好处是读写空间效率可以提高1/3。结合图5所示,3行数据中前2行代表片内sram中存储的数据,第3行代表片外dram中存储的数据,数据处理过程从左到右。这样做的好处是不仅能够提高读写效率,而且可以满足后续运算处理模块对数据处理需要满足3行3列的格式要求。
当实现了将片外存储器存储的数据交替缓存到第一片内存储装置和第二片内存储装置后,在下一个时钟到来的时候,如果数据缓存控制模块发出对sram0/sram1的读使能有效,两片sram的数据又可以被写回了数据缓存控制模块,因此两片sram与片外存储器存储的数据拼接后正好构成了3×3结构,即构成:第n-1行数据、第n行数据、第n+1行数据。将所述第一片内存储器和所述第二片内存储器内缓存的数据,与所述片外存储器内存储的数据拼接后组成192bit数据送到后续运算处理单元。这样对两块片内sram的控制就完成了读数据与写数据互不影响,提升了整个模块的读写效率。
基于以上介绍,就实现了将片外存储器存储的数据传输至运算处理模块,由运算处理模块对背景标识离散点的图像帧进行反复膨胀操作。
需要指出的是,在所述运算处理模块执行所述膨胀的处理之前,还可以包含:在所述图像帧的首行前、尾行后分别填充一行全为1的数据,在所述图像帧的首列前、尾列后分别填充一列全为1的数据;这种情况主要是针对首行、尾行、首列、尾列的处理。
具体来说,由于结构元素中,我们待比较的点是在中心位置,也就是说需要被比较点是在图形的中心位置。那么我们对于膨胀过程中的第一行,可以在运算数据第一行的前面增加一行全1的数据。
同样的,对于最后一行的处理与第一行基本一致,在运算数据最后一行的后面增加一行全为1的数据。
同样的,对于第一列数据处理:在运算数据第一列的前面增加一列全为1的数据。
同样的,对于最后一列数据处理:在运算数据最后一列的后面增加一列全1的数据。
需要指出的是,在膨胀的过程中,由于实际中膨胀了很多次(40次左右),那么在腐蚀的时候就需要考虑膨胀超出了边界多少次,不然就会出现如图6的情况,在腐蚀的时候,不管原始图片A上A>B的部分,即图中B以外部分都会被腐蚀掉。所以需要记录在膨胀的过程中,超出过边界多少次。
背景标识离散点的图像帧数据送到后续运算处理单元后,由所述运算处理模块dlt_ers_ctrl对接收到的背景标识离散点的图像帧数据进行反复膨胀处理,以得到边沿连续的图像。
值得说明的是,所述运算处理模块执行所述膨胀处理时,采用3x3大小的结构元素,但是在实际应用时也可以根据情况采用5x5大小的结构元素进行所述膨胀处理,用以减少膨胀次数,使得性能成被提高,用户可以根据情况自行使用。
步骤103中,对经反复膨胀后的图像进行多次腐蚀。
针对腐蚀边界处理,所述运算处理模块执行所述腐蚀处理时,采用3x3大小的结构元素,但是在实际应用时也可以根据情况采用5x5大小的结构元素进行所述腐蚀处理,用以减少腐蚀次数,使得性能成被提高,用户可以根据情况自行使用。
需要特别说明的是,为了避免出现图6所示的情况。那么我们在知道膨胀出边界的次数,在腐蚀的时候(以第一行来说明),如果x0处在膨胀的时候超过了n次,我们分为下面的两种情况来解决:
一、腐蚀的前面n次:
我们在y0处(第一行)的上面增加一行全为1’b1的数据,那么在腐蚀的过程中,就能保证如果第一行有有效数据,就不会被腐蚀掉,只会讲膨胀过程中增加的两个部分腐蚀掉。
二、腐蚀超过n次的部分:
如果一共膨胀了m次,由于膨胀超出边界n次,那么也就是说膨胀了m-n次到达的y0处,那么我们在腐蚀第n+1次的时候就需要将y0这一行给腐蚀掉,这样我们只需要在y0处的上面增加一行全为0x0的数据就可以了。
其它三个方向:
其它三个方向与上面两种情况类似:对于第一列,对于前面n次,我们在第一列的前面增加一列全1的数据,超过n次增加全0的数据;对于最后一列,前面n次在最后一列后面增加一列全1的数据,超过n次增加全0的数据;对于最后一行,前面n次在最后一行后面增加一行全1的数据,超过n次增加全0的数据。
过程描述:
第一行:
首先处理行首,判断图中处理点处是否因膨胀超出了边界,如果超出边界给对应点赋值为“全1”,如果没有超出边界,那么给t20,t21,t22赋值0x0;然后判断x0处是否超出了边界,如果超出了边界给t30,t40赋值0xffffffff,如果没有超出边界,那么给t30,t40赋值0x0;接下来中间的过程只需要判断y0处是否超出了边界;在行尾处需要增加判断x1处是否超出了边界。
需要说明的是,一般的构造元素是3*3的结构,而3x3结构元素的中心点在中心,那么就需要取到当前点的前面一列的数据。在代码中用t20,t21,t22来表示第一行的数据,用t30,t31,t32来表示第二行的数据,用t40,t41,t42,来表示第三行的数据。一次处理的32个点,由于在第一个点和最后一个点需要用到超出这32个点的数据,这里t20,t30,t40就是在对于需要处理的32个点中的第一个点做判断的,t40,t41,t42是对于需要处理的32个点中的最后一个点做判断的。t31为当前需要处理的点,t30,t32分别为需要处理的点的上面一行与下面一行。在第一行中,我们给t20,t21,t22都写的0,保证边界的正确性。
中间行:
一、行首:
在行首处判断x0处是否超出了边界,如果超出边界就增加一列全1的数据,如果没有超出边界接增加一列全0的数据。
二、行尾:
在行尾处判断x1处是否超出了边界,如果超出边界就在最后一列后面增加一列全1的数据,如果没有超出边界就增加一列全0的数据。
最后一行:
最后一行行首行尾的处理与上面一行,都增加了对于特定坐标处的判断,如果y1处超出了边界就在最后一行后面增加了一行全1的数据,如果没有超出边界就增加了一行全0的数据。
与之类似地,腐蚀处理完后,最后执行操作也要判断,如果在处理过程中有超出边界,那么将对应的变量减1。
步骤104中,对经腐蚀后的图像进行背景去除。
步骤105中,标识出封闭边沿的目标。
本发明第二实施方式涉及一种基于膨胀腐蚀的图像处理方法,第二实施方式是在第一实施方式的基础上做了改进,主要改进之处在于增加了一个先入先出FIFO模块,将所述片外存储器存储的数据,经先入先出FIFO模块交替缓存到所述第一片内存储器和所述第二片内存储器中。
如图7所示,所述FIFO模块的一端与所述数据缓存控制模块连接,所述FIFO模块的另一端经总线连接至所述片外存储器;所述数据缓存控制模块通过所述FIFO模块和所述总线,与所述片外存储器连接,可以起到蓄峰平谷的作用。更进一步地,当增加的FIFO模块为异步FIFO模块(读写时钟是完全异步,可以同时进行读操作和写操作)时,不仅能够起到蓄峰平谷的作用,而且可以处理跨时钟域,减少耦合。其中,所述异步FIFO模块的读数据通道对应所述片外存储器dram,所述异步FIFO模块的写数据通道对应所述第一片内存储器sram0和所述第二片内存储器sram1。
对于总线读取来的数据,首先存储在异步FIFO模块中,等待着与片内sram的读取。对于异步FIFO模块,其读写的时钟是完全异步,读数据通道对应的是片外dram,写数据通道对应的是片内sram,这样异步FIFO的读写速度就完全异步。对于双端口sram,读与写是完全独立的,可以同时读写。
当片内sram0写使能有效时,FIFO模块的首行数据有效,并写入sram0中,实现数据缓存的功能;下一个时刻,如果sram1的写使能有效,FIFO模块中的第二行数据送入sram1,此时,两块sram均完成了缓存数据的功能。在下一个时钟到来的时候,如果数据缓存控制模块发出对sram0/sram1的读使能有效,两片sram的数据又被写回了数据缓存控制模块,因此两片sram与FIFO模块中存储的数据正好构成了3×3结构,即构成:第n-1行数据、第n行数据、第n+1行数据。将此三行数据拼位组成192bit数据送到后续运算处理单元。这样对两块片内sram的控制就完成了读数据与写数据互不影响,提升了整个模块的读写效率。
值得说明的是,利用异步FIFO模块可以完成跨时钟域的数据传输。另外,使用异步FIFO的另一个优点就是:当大量数据从总线流向数据缓存控制模块时,如果不使用异步FIFO,数据会全部涌入数据缓存控制模块的输入端口,可能会造成输入端口被堵死。当使用了异步FIFO,数据会平稳流向数据缓存控制模块的输入端口,为后续步骤的进行提供稳定的数据。进一步,因为使用了异步FIFO,即使外部总线没能及时存取数据,数据缓存控制模块的输出端口也能把数据输出到异步FIFO中,此时异步FIFO就像蓄水池一样,起到了蓄峰平谷的作用,而且可以处理跨时钟域,减少耦合。
待运算处理模块处理数据完成后,将所述运算模块处理完毕的数据输出至片外存储器。由数据缓存控制模块按照图像数据的起始地址,宽度,高度和步长等相关信息,将数据写入片外dram存储器中。本发明的实施方式已经在软件ARM9平台和硬件XilinxVirtex7FPGA平台上通过检验,可以满足将海量数据先存储到片外dram中,然后分别将数据一步一步缓存到片内的sram0与sram1中,再将两片sram中的数据交替存取,为后续运算单元处理做准备。
在本实施方式中,以FIFO模块为异步FIFO模块为例进行的说明,需要指出的是,FIFO模块也可以是同步FIFO模块(简记为SyncFIFO),采用同步FIFO模块同样能完成对数据的处理,在此不再赘述。
此外,本领域的技术人员可以理解,第一实施方式中提到的相关技术细节在本实施方式中依然适用,第一实施方式中提到的效果在本实施方式中依然能够实现。
本发明第三实施方式涉及一种基于膨胀腐蚀的图像处理系统,如图8所示。包含:图像帧获取模块,用于计算单帧图像中的背景标识离散点,获取所述背景标识离散点的图像帧;运算处理模块,用于对所述背景标识离散点的图像帧进行反复膨胀,得到边沿连续的图像;并对经所述反复膨胀后的图像进行多次腐蚀;背景处理模块,用于对经所述腐蚀后的图像进行背景去除,标识出封闭边沿的目标。
在实际应用中,还可以包含:片外存储器、片内存储装置和数据缓存控制模块;所述片外存储器用于存储所述图像帧获取模块获取的所述图像帧,并保存运算模块处理的结果图像;所述数据缓存控制模块连接所述片内存储装置、所述片外存储器和所述运算处理模块;所述数据缓存控制模块用于将所述片外存储器存储的数据,缓存至所述片内存储装置,并将所述片内存储装置缓存的数据输出至所述运算处理模块。
其中,所述片外存储器的存储容量大于片内存储装置的存储容量;所述片外存储器的读写速度小于片内存储装置的读写速度。
此外,本领域的技术人员可以理解,第一实施方式中提到的相关技术细节在本实施方式中依然适用,第一实施方式中提到的效果在本实施方式中依然能够实现。
本领域的普通技术人员可以理解,上述各实施方式是实现本发明的具体实施例,而在实际应用中,可以在形式上和细节上对其作各种改变,而不偏离本发明的精神和范围。
Claims (7)
1.一种基于膨胀腐蚀的图像处理方法,其特征在于,包含以下步骤:
计算单帧图像中的背景标识离散点,获取所述背景标识离散点的图像帧;
对所述背景标识离散点的图像帧进行反复膨胀,得到边沿连续的图像;
对经所述反复膨胀后的图像进行多次腐蚀;
对经所述腐蚀后的图像进行背景去除,标识出封闭边沿的目标;
其中,由运算处理模块执行所述膨胀和所述腐蚀的处理;
所述背景标识离散点的图像帧保存在片外存储器内;
在所述运算处理模块执行所述膨胀和所述腐蚀的处理之前,还包含:
将所述片外存储器存储的数据,缓存至片内存储装置中;
将所述片内存储装置缓存的数据输出至运算处理模块;
将所述运算模块处理完毕的数据输出至片外存储器;
其中,所述片外存储器的存储容量大于片内存储装置的存储容量;所述片外存储器的读写速度小于片内存储装置的读写速度;
所述片内存储装置包含第一片内存储器和第二片内存储器;
所述将片外存储器存储的数据,缓存至片内存储装置的步骤中,将所述片外存储器存储的数据,交替缓存到所述第一片内存储器和所述第二片内存储器中;
所述将片内存储装置缓存的数据输出至运算处理模块的步骤中,将所述第一片内存储器和所述第二片内存储器内缓存的数据,与所述片外存储器内存储的数据拼接后输出至所述运算处理模块。
2.根据权利要求1所述的基于膨胀腐蚀的图像处理方法,其特征在于,还包含:
在所述运算处理模块执行所述膨胀的处理之前,还包含:
在所述图像帧的首行前、尾行后分别填充一行全为1的数据,在所述图像帧的首列前、尾列后分别填充一列全为1的数据;
在所述运算处理模块执行所述腐蚀的处理之前,还包含:
在所述图像帧的首行前、尾行后分别填充一行全为0的数据,在所述图像帧的首列前、尾列后分别填充一列全为0的数据。
3.根据权利要求1所述的基于膨胀腐蚀的图像处理方法,其特征在于,将所述片外存储器存储的数据,交替缓存到所述第一片内存储器和所述第二片内存储器的步骤中,将所述片外存储器存储的数据,经先入先出FIFO模块交替缓存到所述第一片内存储器和所述第二片内存储器中。
4.根据权利要求3所述的基于膨胀腐蚀的图像处理方法,其特征在于,所述FIFO模块为异步FIFO模块。
5.根据权利要求1所述的基于膨胀腐蚀的图像处理方法,其特征在于,所述第一片内存储器和所述第二片内存储器均为双端口片内存储器;
所述第一片内存储器、所述第二片内存储器和所述片外存储器的数据位宽均为64位,地址位宽均为16位。
6.根据权利要求1所述的基于膨胀腐蚀的图像处理方法,其特征在于,所述运算处理模块执行所述膨胀处理时,采用3x3大小的结构元素,或采用5x5大小的结构元素,进行所述膨胀处理;
所述运算处理模块执行所述腐蚀处理时,采用3x3大小的结构元素,或采用5x5大小的结构元素,进行所述腐蚀处理。
7.一种基于膨胀腐蚀的图像处理系统,其特征在于,包含:
图像帧获取模块,用于计算单帧图像中的背景标识离散点,获取所述背景标识离散点的图像帧;
运算处理模块,用于对所述背景标识离散点的图像帧进行反复膨胀,得到边沿连续的图像;并对经所述反复膨胀后的图像进行多次腐蚀;
背景处理模块,用于对经所述腐蚀后的图像进行背景去除,标识出封闭边沿的目标;
所述基于膨胀腐蚀的图像处理系统还包含:片外存储器、片内存储装置和数据缓存控制模块;
所述片外存储器用于存储所述图像帧获取模块获取的所述图像帧,并保存运算模块处理的结果图像;
所述数据缓存控制模块连接所述片内存储装置、所述片外存储器和所述运算处理模块;
所述数据缓存控制模块用于将所述片外存储器存储的数据,缓存至所述片内存储装置,并将所述片内存储装置缓存的数据输出至所述运算处理模块;
其中,所述片外存储器的存储容量大于片内存储装置的存储容量;所述片外存储器的读写速度小于片内存储装置的读写速度;
所述片内存储装置包含第一片内存储器和第二片内存储器;
所述数据缓存控制模块具体用于将所述片外存储器存储的数据,交替缓存到所述第一片内存储器和所述第二片内存储器中,并将所述第一片内存储器和所述第二片内存储器内缓存的数据,与所述片外存储器内存储的数据拼接后输出至所述运算处理模块。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610050677.5A CN105577986B (zh) | 2016-01-25 | 2016-01-25 | 基于膨胀腐蚀的图像处理系统及图像处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610050677.5A CN105577986B (zh) | 2016-01-25 | 2016-01-25 | 基于膨胀腐蚀的图像处理系统及图像处理方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105577986A CN105577986A (zh) | 2016-05-11 |
CN105577986B true CN105577986B (zh) | 2018-12-28 |
Family
ID=55887606
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610050677.5A Active CN105577986B (zh) | 2016-01-25 | 2016-01-25 | 基于膨胀腐蚀的图像处理系统及图像处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105577986B (zh) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN113925390B (zh) * | 2021-10-19 | 2022-09-09 | 珠海一微半导体股份有限公司 | 一种基于地图图像的跨区域通道识别方法、机器人及芯片 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007076892A1 (en) * | 2005-12-30 | 2007-07-12 | Telecom Italia S.P.A. | Edge comparison in segmentation of video sequences |
CN101526924A (zh) * | 2009-04-22 | 2009-09-09 | 东南大学 | 一种优化数字信号处理芯片数据访问的方法 |
CN105117727A (zh) * | 2015-09-18 | 2015-12-02 | 浙江工业大学 | 一种车牌快速定位方法 |
-
2016
- 2016-01-25 CN CN201610050677.5A patent/CN105577986B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2007076892A1 (en) * | 2005-12-30 | 2007-07-12 | Telecom Italia S.P.A. | Edge comparison in segmentation of video sequences |
CN101526924A (zh) * | 2009-04-22 | 2009-09-09 | 东南大学 | 一种优化数字信号处理芯片数据访问的方法 |
CN105117727A (zh) * | 2015-09-18 | 2015-12-02 | 浙江工业大学 | 一种车牌快速定位方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105577986A (zh) | 2016-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107301455B (zh) | 用于卷积神经网络的混合立方体存储系统及加速计算方法 | |
CN108681984A (zh) | 一种3*3卷积算法的加速电路 | |
US7733892B2 (en) | Buffer management method based on a bitmap table | |
US11010056B2 (en) | Data operating method, device, and system | |
CN108958800A (zh) | 一种基于fpga硬件加速的ddr管理控制系统 | |
EP3161793B1 (en) | Adaptive partition mechanism with arbitrary tile shape for tile based rendering gpu architecture | |
CN109388370B (zh) | 一种实现先入先出队列的方法及装置 | |
CN103413569B (zh) | 一读且一写静态随机存储器 | |
CN105577985B (zh) | 一种数字图像处理系统 | |
US20170237677A1 (en) | Data caching method and device, and storage medium | |
KR20210070369A (ko) | 3d 이미지 처리 중의 데이터 읽기/쓰기 방법 및 시스템, 저장 매체 및 단말 | |
CN105654419A (zh) | 一种图像的运算处理系统及运算处理方法 | |
CN103760525A (zh) | 一种补齐式原地矩阵转置方法 | |
US20140129745A1 (en) | Asymmetric fifo memory | |
CN105577986B (zh) | 基于膨胀腐蚀的图像处理系统及图像处理方法 | |
WO2018148918A1 (zh) | 存储设备、芯片及存储设备的控制方法 | |
CN100571325C (zh) | 一种数据缓存方法、垂直缩放电路及终端 | |
WO2019223383A1 (zh) | 直接内存存取方法、装置、专用计算芯片及异构计算系统 | |
WO2022095439A1 (zh) | 一种用于数据处理的硬件加速系统及芯片 | |
CN109800867B (zh) | 一种基于fpga片外存储器的数据调用方法 | |
WO2021070303A1 (ja) | 演算処理装置 | |
CN110968538B (zh) | 一种数据缓冲方法和装置 | |
CN115860080A (zh) | 计算核、加速器、计算方法、装置、设备、介质及系统 | |
CN103077130A (zh) | 信息处理方法及装置 | |
CN114422801B (zh) | 优化视频压缩控制逻辑的方法、系统、设备和存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20220818 Address after: 201306 2nd floor, no.979 Yunhan Road, Lingang New Area, China (Shanghai) pilot Free Trade Zone, Pudong New Area, Shanghai Patentee after: Shanghai Leiling Micro Technology Partnership (Limited Partnership) Address before: Room 1996, Building 5, No. 2, Xincheng Road, Nicheng Town, Pudong New Area, Shanghai, 201306 Patentee before: SHANGHAI HANTK INFORMATION TECHNOLOGY Co.,Ltd. |