CN110569684B - 一种小容量缓存的图像二值化方法 - Google Patents

一种小容量缓存的图像二值化方法 Download PDF

Info

Publication number
CN110569684B
CN110569684B CN201910885210.6A CN201910885210A CN110569684B CN 110569684 B CN110569684 B CN 110569684B CN 201910885210 A CN201910885210 A CN 201910885210A CN 110569684 B CN110569684 B CN 110569684B
Authority
CN
China
Prior art keywords
image
pixel
line
sum
threshold window
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
Application number
CN201910885210.6A
Other languages
English (en)
Other versions
CN110569684A (zh
Inventor
杨羽
谭弟
蒋召宇
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nanjing Quanjian Information Technology Co ltd
Original Assignee
Nanjing Quanjian Information Technology Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Nanjing Quanjian Information Technology Co ltd filed Critical Nanjing Quanjian Information Technology Co ltd
Priority to CN201910885210.6A priority Critical patent/CN110569684B/zh
Publication of CN110569684A publication Critical patent/CN110569684A/zh
Application granted granted Critical
Publication of CN110569684B publication Critical patent/CN110569684B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/10544Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum
    • G06K7/10821Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices
    • G06K7/1098Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation by scanning of the records by radiation in the optical part of the electromagnetic spectrum further details of bar or optical code scanning devices the scanning arrangement having a modular construction
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K7/00Methods or arrangements for sensing record carriers, e.g. for reading patterns
    • G06K7/10Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation
    • G06K7/14Methods or arrangements for sensing record carriers, e.g. for reading patterns by electromagnetic radiation, e.g. optical sensing; by corpuscular radiation using light without selection of wavelength, e.g. sensing reflected white light
    • G06K7/1404Methods for optical code recognition
    • G06K7/1408Methods for optical code recognition the method being specifically adapted for the type of code
    • G06K7/14172D bar codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/60Memory management
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Electromagnetism (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Toxicology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Processing (AREA)

Abstract

本申请公开了一种小容量缓存的图像二值化方法,该方法包括:步骤1,根据接收到的图像数据的边缘像素点,对图像数据进行扩展处理,生成待处理图像;步骤2,根据阈值窗口的宽度和待处理图像的行像素宽度,构建行缓存单元;步骤3,利用行缓存单元,对待处理图像中像素点的像素灰度值进行逐行缓存,当判定缓存的像素点横坐标和纵坐标,大于或等于阈值窗口的宽度时,依次读取行缓存单元中的像素灰度值,并对阈值窗口中心点处对应的像素点进行二值化,生成二值化图像。通过本申请中的技术方案,在不削弱二值化效果的前提下,将传统的基于帧图像存储的二值化过程改为利用行缓存来实现,减小了内存单元使用,降低了二值图像识别设备的成本。

Description

一种小容量缓存的图像二值化方法
技术领域
本申请涉及图像处理的技术领域,具体而言,涉及一种小容量缓存的图像二值化方法。
背景技术
随着现代集成电路技术领域发展,很多基于计算机的领域的图像处理已经覆盖到嵌入式领域。作为信息载体的二维码,已经融入到生活的各种场合,包括了社交娱乐、交易支付、商品防伪等。随着二维码使用的普及化,带来了便利的同时,也提出了新的技术挑战。
对于识别二维码的设备,如智能手机、物联网终端设备,出于成本、体积等原因,这些设备的存储和处理的能力十分有限。如何使嵌入式小存储设备,准确地对二维码进行快速二值化,成为了识别二维码设备的设计难点和重点,特别是对于采用现场可编程门阵列(Field Programmable Gate Array,FPGA)作为图像处理器的识别二维码设备而言。
对图像进行二值化处理是识别二维码之前的一个重要步骤,图像二值化,可以去除图像中大部分对识别无用的信息。图像二值化主要有两种形式:全局阈值处理和自适应阈值处理。
常用的全局阈值处理有双峰法、Otsu法等,均是在遍历整幅图像的像素点并对他们进行运算之后得到一个阈值,全局阈值处理需要较大的存储空间而且运算也很复杂。而自适应阈值法是把原始的整幅图像分为几个小的子图像,再对每个子图像应用全局阈值法,分别求出最优分割阈值。
虽然相对于全局阈值处理,自适应阈值法已经减小了图像缓存过程在FPGA中所占用的内存空间,但对于有特殊要求的设备而言,其内存占用还是较大,且由于是对整幅图像或者分割后的部分图像进行缓存,在图像二值化运算的复杂度和运算效率上,仍无法满足要求。
并且,现有的二值化方法,默认为图像的边缘不具有需要识别的二维码信息,进而将图像的边缘像素点省略,导致图像二值化过程中,存在信息遗漏的可能性。
发明内容
本申请的目的在于:在不削弱二值化效果的前提下,减小了内存单元使用,降低了二值图像识别设备的成本。
本申请第一方面的技术方案是:提供了一种小容量缓存的图像二值化方法,该方法包括步骤1,根据接收到的图像数据的边缘像素点,对图像数据进行扩展处理,生成待处理图像;步骤2,根据阈值窗口的宽度和待处理图像的行像素宽度,构建行缓存单元,其中,行缓存单元由多个存储器构成,存储器的数量等于阈值窗口的宽度,存储器的深度等于行像素宽度;步骤3,利用行缓存单元,对待处理图像中像素点的像素灰度值进行逐行缓存,当判定缓存的像素点横坐标和纵坐标,大于或等于阈值窗口的宽度时,依次读取行缓存单元中的像素灰度值,并对阈值窗口中心点处对应的像素点进行二值化,生成二值化图像。
上述任一项技术方案中,进一步地,步骤1中,对图像数据进行扩展处理,具体包括:步骤11,根据阈值窗口的宽度2r+1,确定扩展宽度r;步骤12,根据扩展宽度r,分别将图像数据的第一行行像素和倒数第一行行像素沿图像数据高度方向向外扩展r行,生成第一图像;步骤13,根据扩展宽度r,分别将第一图像的第一列列像素和倒数第一列列像素沿第一图像宽度方向向外扩展r行,生成第二图像,记作待处理图像。
上述任一项技术方案中,进一步地,步骤3中,具体包括:将待处理图像中、与阈值窗口的宽度数量相等的行像素,逐行写入至行缓存单元的存储器中;当判定写入最后一个存储器中的行像素写入完成时,将待处理图像的下一行行像素,重新写入至行缓存单元的第一个存储器中,依次循环,直至完成待处理图像的缓存。
上述任一项技术方案中,进一步地,步骤3中,对阈值窗口中心点处对应的像素点进行二值化,具体包括:步骤31,根据时钟周期,依次获取阈值窗口中,整列像素点的像素灰度值,并根据每一列像素灰度值,进行三级流水线求和运算,计算该列列像素的列像素灰度值和,其中,列像素灰度值和的计算公式为:
Figure BDA0002207110110000031
式中,sum_colj为阈值窗口中第j列的列像素灰度值和,Gray(x,j)为第x行第j列的像素点的像素灰度值;
步骤32,依次将阈值窗口的列像素灰度值和,存储于由桶形移位器构成的行缓存单元,并计算行缓存单元中列像素灰度值和的累加和;步骤33,根据阈值窗口的累加和,计算阈值窗口的阈值;步骤34,判断阈值窗口中心点处对应的像素点的像素灰度值是否大于阈值,若是,将像素点的二值化像素值设为1,若否,将像素点的二值化像素值设为0;步骤35,根据二值化像素值,生成图像数据的二值化图像。
上述任一项技术方案中,进一步地,阈值的计算公式为:
Figure BDA0002207110110000032
total_grayi.j=total_grayi-1.j+sum_colc-sum_colf
式中,total_grayi-1.j是前一个阈值窗口内像素灰度值的累加和;sum_colf是前一个阈值窗口的第一列的列像素灰度值和,sum_colc是当前新设置阈值窗口最右侧一列像素灰度值和。
上述任一项技术方案中,进一步地,阈值窗口为正方形,阈值窗口的宽度的取值为大于5的奇数。
本申请第二方面的技术方案是:提供了一种小容量缓存的图像识别***,图像识别***设置有图像采集模块和处理模块,处理模块用于根据如第一方面技术方案中任一项的小容量缓存的图像二值化方法,对图像采集模块采集到的图像数据进行图像识别。
上述任一项技术方案中,进一步地,处理模块还包括:缓存单元和计算单元;缓存单元包括多个存储器,缓存单元用于逐行缓存图像数据中的像素灰度值;计算单元用于根据像素灰度值,进行三级流水运算,并计算图像二值化过程中的阈值。
上述任一项技术方案中,进一步地,处理模块为专用集成芯片和现场可编程门阵列中的一种。
本申请的有益效果是:
1、本申请中的图像二值化方法,通过利用行缓存单元,逐行对图像数据进行存储,不仅大幅减小了图像二值化运算的复杂度,还利用行缓存代替现有技术中的图像帧缓存,节约了大量的存储空间,在图像数据传输过程中,即可开始二值化的相关计算,不用等到图像完整帧的存储完毕,降低了二值化过程中的延时。
2、本申请中利用由(2r+1)个存储器构成的行缓存单元,代替传统的帧缓存单元,在不削弱二值化效果的前提下,减小了内存单元使用,降低了二值图像识别设备的成本。
3、通过分级流水线方式提高阈值计算的频率,进而加快了二值化速度,通过设置与阈值窗口尺寸相配合的、多级流水线中全加器的数量,进一步提高了阈值窗口内的像素灰度值的求和的效率。相比于其他用于专用集成电路的二值化算法,本发明在减少运算单元量的同时,也加快了二值化的处理速度。
附图说明
本申请的上述和/或附加方面的优点在结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1是根据本申请的一个实施例的小容量缓存的图像二值化方法的示意流程图;
图2是根据本申请的一个实施例的待处理图像的示意图;
图3是根据本申请的一个实施例的行缓存单元数据缓存的示意图;
图4是根据本申请的一个实施例的行缓存单元与阈值窗口之间对应关系的示意图。
具体实施方式
为了能够更清楚地理解本申请的上述目的、特征和优点,下面结合附图和具体实施方式对本申请进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互结合。
在下面的描述中,阐述了很多具体细节以便于充分理解本申请,但是,本申请还可以采用其他不同于在此描述的其他方式来实施,因此,本申请的保护范围并不受下面公开的具体实施例的限制。
实施例一:
如图1所示,本实施例提供了一种小容量缓存的图像二值化方法,适用于现场可编程门阵列中的图像处理,该图像二值化方法包括:
步骤1,根据接收到的图像数据的边缘像素点,对所述图像数据进行扩展处理,生成待处理图像,并根据阈值窗口的宽度,将待处理图像的行像素,依次存入对应的行缓存单元中。
具体地,当接收到图像数据之后,根据该图像数据的边缘像素点,进行扩展处理,扩展后的待处理图像如图2所示,扩展处理的方法具体包括:
步骤11,根据阈值窗口的宽度2r+1,确定扩展宽度为r;
步骤12,根据扩展宽度r,分别将图像数据的第一行行像素和倒数第一行行像素沿图像数据高度方向向外扩展r行,即将第一行行像素和最后一行行像素分别复制r行,将复制的行像素,拼接在接收到的图像数据的上下两侧,生成第一图像;
步骤13,根据扩展宽度r,分别将第一图像的第一列列像素和倒数第一列列像素沿第一图像宽度方向向外扩展r行,即将第一列列像素和倒数第一列列像素分别复制r行,将复制的列像素,拼接在第一图像的左右两侧,生成第二图像,记作待处理图像。
步骤2,根据阈值窗口的宽度和待处理图像的行像素宽度,构建行缓存单元,其中,行缓存单元由多个存储器构成,存储器的数量等于阈值窗口的宽度,存储器的深度等于行像素宽度;
优选地,阈值窗口是一个宽度为(2r+1)x(2r+1)的、正方形像素点阵列,其中,r>2,即阈值窗口的宽度的取值为大于5的奇数。
具体地,将传统的基于帧图像存储的二值化过程改为利用行缓存来实现,存储空间减小为使用帧图像时的几十分之一到几百分之一。
建立一个2r+1的行缓存的存储结构,用于存储2r+1的行数据,行缓存的数量与阈值窗口的宽度相等,既2r+1行,行缓冲的深度等于待处理图像的行像素宽度。
基于行缓存单元的结构,需要逐行写入每一行待处理图像的像素灰度值,直到写入最后一个存储器的、2r+1个深度的像素灰度值,既当前阈值窗口所覆盖的像素灰度值都已写入行缓存单元中,即可开始读出,计算当前阈值窗口中心点处、第r+1行第r+1列的像素点的阈值。
步骤3,利用行缓存单元,对待处理图像中像素点的像素灰度值,进行逐行缓存,当判定缓存的像素点横坐标和纵坐标,大于或等于阈值窗口的宽度时,依次读取行缓存单元中的像素点,并对阈值窗口中心点处对应的像素点进行二值化,生成二值化图像。
优选地,行缓存单元由多个存储器构成,存储器的数量与阈值窗口的宽度相等,存储器的深度大于或等于待处理图像的行像素宽度。
具体地,设定阈值窗口的宽度为21,扩展宽度r=10,图像数据的尺寸为100*100,因此,待处理图像的尺寸110*110,行缓存单元中存储器的个数为21,每个存储器的深度大于或等于110,即行缓存单元中可以存储21行110列像素点。
如图3所示,本实施例中的行缓存单元由21个深度为110的静态随机存取存储器(Static Random-Access Memory,SRAM)和桶形移位器构成。在进行像素点逐行缓存时,步骤3具体包括:
将待处理图像中、与阈值窗口的宽度数量相等的行像素,逐行写入至行缓存单元的存储器中;
当判定写入最后一个存储器中的行像素写入完成时,将待处理图像的下一行行像素,重新写入至行缓存单元的第一个存储器中,依次循环,直至完成待处理图像的缓存。
具体地,首先将待处理图像中的第一行行像素依次缓存入SRAM-0中,当判定像素点的行坐标发生变化时,即当前缓存的像素点为第二行第一列的像素点时,将该像素点及后续的像素点依次缓存入SRAM-1中,直到缓存至SRAM-20,完成前21行行像素的缓存。
之后,将第22行行像素缓存至SRAM-0,将第23行行像素缓存至SRAM-1,依次循环,直至完成待处理图像的缓存。需要说明的是,每一个SRAM中缓存的像素点为该行像素的列像素点。
当缓存的像素点横坐标和纵坐标均为21时,此时,SRAM-0至SRAM-19中已缓存完待处理图像的前20行行像素,当第21行行像素缓存至第21个列像素点(21,21)时,阈值窗口中心点处的像素点的坐标为(11,11),对应于接收到的图像数据的第一个像素点(1,1),此时,即可对像素点进行二值化。需要注意的是,如图4所示,SRAM-0至SRAM-20中,相同位置处的列像素点构成阈值窗口的列像素点。
当SRAM-20缓存完第21个像素点之后,在每个时钟周期,同时读取SRAM-0至SRAM-20中的前21个像素点,作为阈值窗口中最后一列像素点补入阈值窗口中,并删除阈值窗口的第一列像素点,即保证阈值窗口中包括21列像素点。
为了计算待计算阈值窗口的阈值,行缓存单元中像素灰度值的读出控制逻辑,需要一次读取所有2r+1个存储单元中的缓存的像素灰度值,在进行2r+1次读出后,即可读出整个阈值窗口中所包含的数据,并完成阈值、二值化的计算。和整帧图像相比,本实施例中的相关计算,只需要2r+1行像素灰度值的存储即可,并且在剩余行像素写入的过程中,就可完成当前阈值窗口的计算,计算的时间掩盖在数据传输的过程中,大幅度降低了二值化过程中的延迟,可以视为0延时的二值化计算。
进一步地,以第i行第j列像素点(i,j)为例,对像素点进行二值化的方法,具体包括:
步骤31,根据时钟周期,依次获取阈值窗口中整列像素点的像素灰度值,并根据每一列像素灰度值进行三级流水线求和运算,计算该列列像素的列像素灰度值和,其中,列像素灰度值和的计算公式为:
Figure BDA0002207110110000081
式中,sum_colj为阈值窗口中第j列的列像素灰度值和,Gray(x,j)为第x行第j列的像素点的像素灰度值;
三级流水线的结构以及相加过程如下:
第1级流水线由(2r+1)/3(向上取整)个寄存器和2倍于寄存器数量的全加器构成,将输入的像素灰度值分组,每组包含三个数据,每组三个数据相加,获得第一级累加和sum00,sum01,sum02……,以此类推。其中,sum00=Gray(i-2r-1,j)+Gray(i-2r,j)+Gray(i-2r+1,j),sum01=Gray(i-2r+2,j)+Gray(i-2r+3,j)+Gray(i-2r+4,j),……;
第2级流水线同样由寄存器(其数量为1级累加和的数量/3)和全加器(其数量为1级累加和的数量*2/3)构成,将第一级累加和sum00,sum01,sum02……等分组,每组包含三个数据,每组三个数据相加,获得第二级累加和sum10,sum11,sum12……等;其中,sum10=sum00+sum01+sum02,sum11=sum03+sum04+sum05,……等;
第3级流水线由累加器构成,将第二级累加和相加:sum_colj=sum10+sum11+sum12+…+sum1m,获得阈值窗口第j列像素灰度值和sum_colj,其中,sum1m是第二级累加和的最后一个元素。
步骤32,依次将阈值窗口的列像素灰度值和、存储于由SRAM和桶形移位器构成的行缓存单元,并计算行缓存单元中列像素灰度值和的累加和Tempj
具体的,桶形移位器由2r+1个16位寄存器构成,用来缓存阈值窗口的列像素灰度值和sum_colj,当阈值窗口的列像素灰度值和是初始图像的第一列时,第一列的列像素灰度值和为sum_col1,将sum_col1同时缓存在register2r,register2r-1,……,registerr中,其中,registern表示桶形移位器中编号是第n个的16位寄存器,n=0,1,2,…,2r-1,2r;每有一个其他的阈值窗口的列像素灰度值和sum_colj输入时,将该值压入桶形移位器中,依次执行以下操作:register2r=sum_colj,register2r-1=register2r,……,register0=register1
桶形移位器在将数据输入寄存器的同时,还计算寄存器中存储各列的列像素灰度值和的总和,每输入一列像素的列像素灰度值和就将其与寄存器中其他列像素灰度值和进行累加求和,得到累加和值。
步骤33,根据阈值窗口的累加和值,计算该阈值窗口的阈值;
具体的,对于像素点(i,j)的阈值窗口而言,阈值的计算公式为:
Figure BDA0002207110110000091
式中,Threshold(i,j)为像素点(i,j)的阈值,Tempy为第y列列像素灰度值和的累加和,(2r+1)为阈值窗口的宽度。
进一步的,由于本实施例中采用的是桶形移位器构成的行缓存单元,因此。在计算阈值时,阈值的计算公式可以改写为:
Figure BDA0002207110110000092
total_grayi.j=total_grayi-1.j+sum_colc-sum_colf
式中,total_grayi-1.j是前一个阈值窗口内像素灰度值的累加和;sum_colf是前一个阈值窗口的第一列的列像素灰度值和,缓存在桶形移位器的寄存器register0中;sum_colc是当前新设置阈值窗口最右侧一列像素灰度值和。
步骤34,判断阈值窗口中心点处对应的像素点的像素灰度值是否大于该阈值窗口的阈值,若是,将像素点的二值化像素值设为1,若否,将像素点的二值化像素值设为0。
具体的,二值化的计算公式为:
Figure BDA0002207110110000101
式中,Bin_data(i,j)为像素点(i,j)的二值化像素值,Gray(i,j)为像素点(i,j)的像素灰度值,Threshold(i,j)为像素点(i,j)的阈值窗口的阈值。
步骤35,根据二值化像素值,生成图像数据的二值化图像。
具体的,虽然采用阈值窗口进行二值化时,仅能对阈值窗口中心处的像素点进行二值化,但是,本实施例中的二值化方法,通过对图像数据的扩展处理,图像数据向外扩展了2r行、2r列像素,生成待处理图像,使得待处理图像中的第一个阈值窗口的中心点像素,对应于图像数据的第一个像素点,且最后一个阈值窗口的中心点像素,对应于图像数据的最后一个像素点,解决了现有二值化方法中,边缘像素点无法二值化的问题,提高了图像二值化处理的准确性和可靠性。
实施例二:
本实施例提供了一种小容量缓存的图像识别***,该图像识别***设置有图像采集模块和处理模块,处理模块用于根据实施例一中任一项的小容量缓存的图像二值化方法,对图像采集模块采集到的图像数据进行图像识别。
优选的,处理模块可以集成在专用集成芯片(Application Specific IntegratedCircuit,ASIC)上,也可以设置于现场可编程门阵列中。本实施例以集成在ASIC上为例进行说明。
进一步地,处理模块还包括:缓存单元和计算单元;缓存单元包括多个存储器,缓存单元用于逐行缓存图像数据中的像素灰度值;计算单元用于根据像素灰度值,进行三级流水运算,并计算图像二值化过程中的阈值。
具体的,计算单元由多个寄存器、多个全加器和多个累加器构成
三级流水线的结构以及相加过程如下:
第1级流水线由(2r+1)/3(向上取整)个寄存器和2倍于寄存器数量的全加器构成,将输入的像素灰度值分组,每组包含三个数据,每组三个数据相加,获得第一级累加和sum00,sum01,sum02……,以此类推。其中,sum00=Gray(i-2r-1,j)+Gray(i-2r,j)+Gray(i-2r+1,j),sum01=Gray(i-2r+2,j)+Gray(i-2r+3,j)+Gray(i-2r+4,j),……;
第2级流水线同样由寄存器(其数量为1级累加和的数量/3)和全加器(其数量为1级累加和的数量*2/3)构成,将第一级累加和sum00,sum01,sum02……等分组,每组包含三个数据,每组三个数据相加,获得第二级累加和sum10,sum11,sum12……等;其中,sum10=sum00+sum01+sum02,sum11=sum03+sum04+sum05,……等;
第3级流水线由累加器构成,将第二级累加和相加:sum_colj=sum10+sum11+sum12+…+sum1m,获得阈值窗口第j列像素灰度值和sum_colj,其中,sum1m是第二级累加和的最后一个元素。
以上结合附图详细说明了本申请的技术方案,本申请提出了一种小容量缓存的图像二值化方法,包括:步骤1,根据接收到的图像数据的边缘像素点,对图像数据进行扩展处理,生成待处理图像;步骤2,根据阈值窗口的宽度和待处理图像的行像素宽度,构建行缓存单元;步骤3,利用行缓存单元,对待处理图像中像素点的像素灰度值进行逐行缓存,当判定缓存的像素点横坐标和纵坐标,大于或等于阈值窗口的宽度时,依次读取行缓存单元中的像素灰度值,并对阈值窗口中心点处对应的像素点进行二值化,生成二值化图像。通过本申请中的技术方案,在不削弱二值化效果的前提下,将传统的基于帧图像存储的二值化过程改为利用行缓存来实现,减小了内存单元使用,降低了二值图像识别设备的成本。
本申请中的步骤可根据实际需求进行顺序调整、合并和删减。
本申请***中的单元可根据实际需求进行合并、划分和删减。
尽管参考附图详地公开了本申请,但应理解的是,这些描述仅仅是示例性的,并非用来限制本申请的应用。本申请的保护范围由附加权利要求限定,并可包括在不脱离本申请保护范围和精神的情况下针对发明所作的各种变型、改型及等效方案。

Claims (6)

1.一种小容量缓存的图像二值化方法,其特征在于,该方法包括:
步骤1,根据接收到的图像数据的边缘像素点,对所述图像数据进行扩展处理,生成待处理图像;
步骤2,根据阈值窗口的宽度和所述待处理图像的行像素宽度,构建行缓存单元,其中,所述行缓存单元由多个存储器构成,所述存储器的数量等于阈值窗口的宽度,所述存储器的深度等于所述行像素宽度;
步骤3,利用所述行缓存单元,对所述待处理图像中像素点的像素灰度值进行逐行缓存,当判定缓存的像素点横坐标和纵坐标,大于或等于所述阈值窗口的宽度时,依次读取所述行缓存单元中的像素灰度值,并对阈值窗口中心点处对应的像素点进行二值化,生成二值化图像;
其中,步骤3中,对阈值窗口中心点处对应的像素点进行二值化,具体包括:
步骤31,根据时钟周期,依次获取所述阈值窗口中,整列像素点的像素灰度值,并根据每一列像素灰度值,进行三级流水线求和运算,计算该列列像素的列像素灰度值和;
步骤32,依次将所述阈值窗口的所述列像素灰度值和,存储于由桶形移位器构成的行缓存单元,并计算所述行缓存单元中所述列像素灰度值和的累加和;
步骤33,根据所述阈值窗口的累加和,计算所述阈值窗口的阈值;
步骤34,判断所述阈值窗口中心点处对应的像素点的所述像素灰度值是否大于所述阈值,若是,将所述像素点的二值化像素值设为1,若否,将所述像素点的二值化像素值设为0;
步骤35,根据二值化像素值,生成所述图像数据的二值化图像;其中,阈值的计算公式为:
Figure FDA0004174636040000021
total_grayi.j=total_i-1.j+um_colc-um_colf
式中,total_grayi-1.j是前一个阈值窗口内像素灰度值的累加和;sum_colf是前一个阈值窗口的第一列的列像素灰度值和,sum_colc是当前新设置阈值窗口最右侧一列像素灰度值和。
2.如权利要求1所述的小容量缓存的图像二值化方法,其特征在于,步骤1中,对所述图像数据进行扩展处理,具体包括:
步骤11,根据所述阈值窗口的宽度2r+1,确定扩展宽度r;
步骤12,根据所述扩展宽度r,分别将所述图像数据的第一行行像素和倒数第一行行像素沿图像数据高度方向向外扩展r行,生成第一图像;
步骤13,根据所述扩展宽度r,分别将第一图像的第一列列像素和倒数第一列列像素沿第一图像宽度方向向外扩展r行,生成第二图像,记作所述待处理图像。
3.如权利要求1所述的小容量缓存的图像二值化方法,其特征在于,步骤3中,具体包括:
将所述待处理图像中、与所述阈值窗口的宽度数量相等的行像素,逐行写入至所述行缓存单元的所述存储器中;
当判定写入最后一个存储器中的行像素写入完成时,将所述待处理图像的下一行行像素,重新写入至所述行缓存单元的第一个存储器中,依次循环,直至完成所述待处理图像的缓存。
4.如权利要求1至3中任一项所述的小容量缓存的图像二值化方法,其特征在于,
所述阈值窗口为正方形,所述阈值窗口的宽度的取值为大于5的奇数。
5.一种小容量缓存的图像识别***,其特征在于,所述图像识别***设置有图像采集模块和处理模块,所述处理模块用于根据如权利要求1至4中任一项所述的小容量缓存的图像二值化方法,对所述图像采集模块采集到的图像数据进行图像识别。
6.如权利要求5所述的小容量缓存的图像识别***,所述处理模块还包括:缓存单元和计算单元;
所述缓存单元包括多个存储器,所述缓存单元用于逐行缓存所述图像数据中的像素灰度值;
所述计算单元用于根据所述像素灰度值,进行三级流水运算,并计算图像二值化过程中的阈值。
CN201910885210.6A 2019-09-19 2019-09-19 一种小容量缓存的图像二值化方法 Active CN110569684B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910885210.6A CN110569684B (zh) 2019-09-19 2019-09-19 一种小容量缓存的图像二值化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910885210.6A CN110569684B (zh) 2019-09-19 2019-09-19 一种小容量缓存的图像二值化方法

Publications (2)

Publication Number Publication Date
CN110569684A CN110569684A (zh) 2019-12-13
CN110569684B true CN110569684B (zh) 2023-05-12

Family

ID=68781278

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910885210.6A Active CN110569684B (zh) 2019-09-19 2019-09-19 一种小容量缓存的图像二值化方法

Country Status (1)

Country Link
CN (1) CN110569684B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113436057B (zh) * 2021-08-27 2021-11-19 绍兴埃瓦科技有限公司 数据处理方法及双目立体匹配方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103235948A (zh) * 2013-04-22 2013-08-07 中山大学 一种二维条码的自适应阈值二值化方法
CN104766078A (zh) * 2015-04-02 2015-07-08 四川九洲电器集团有限责任公司 目标图像的倾斜角检测方法及倾斜角检测设备
CN106127817A (zh) * 2016-06-28 2016-11-16 广东工业大学 一种基于通道的图像二值化方法
CN106485647A (zh) * 2016-10-09 2017-03-08 广东中星电子有限公司 一种数据存取方法及装置
CN108460784A (zh) * 2018-01-22 2018-08-28 合肥芯碁微电子装备有限公司 一种基于fpga的灰度及二值图像膨胀腐蚀处理方法
CN109218636A (zh) * 2018-11-02 2019-01-15 上海晔芯电子科技有限公司 图像传感器的二值化数据输出方法
CN109543692A (zh) * 2018-11-27 2019-03-29 合肥工业大学 一种专用于含qr码图像的二值化方法

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103235948A (zh) * 2013-04-22 2013-08-07 中山大学 一种二维条码的自适应阈值二值化方法
CN104766078A (zh) * 2015-04-02 2015-07-08 四川九洲电器集团有限责任公司 目标图像的倾斜角检测方法及倾斜角检测设备
CN106127817A (zh) * 2016-06-28 2016-11-16 广东工业大学 一种基于通道的图像二值化方法
CN106485647A (zh) * 2016-10-09 2017-03-08 广东中星电子有限公司 一种数据存取方法及装置
CN108460784A (zh) * 2018-01-22 2018-08-28 合肥芯碁微电子装备有限公司 一种基于fpga的灰度及二值图像膨胀腐蚀处理方法
CN109218636A (zh) * 2018-11-02 2019-01-15 上海晔芯电子科技有限公司 图像传感器的二值化数据输出方法
CN109543692A (zh) * 2018-11-27 2019-03-29 合肥工业大学 一种专用于含qr码图像的二值化方法

Also Published As

Publication number Publication date
CN110569684A (zh) 2019-12-13

Similar Documents

Publication Publication Date Title
US8756174B2 (en) Forward feature selection for support vector machines
CN109784372B (zh) 一种基于卷积神经网络的目标分类方法
CN111860502A (zh) 图片表格的识别方法、装置、电子设备及存储介质
CN112200191B (zh) 图像处理方法、装置、计算设备及介质
CN111914654A (zh) 一种文本版面分析方法、装置、设备和介质
CN115035128B (zh) 基于fpga的图像重叠滑窗分割方法及***
CN114241388A (zh) 基于时空记忆信息的视频实例分割方法和分割装置
CN110569684B (zh) 一种小容量缓存的图像二值化方法
CN111104941B (zh) 图像方向纠正方法、装置及电子设备
US10949694B2 (en) Method and apparatus for determining summation of pixel characteristics for rectangular region of digital image avoiding non-aligned loads using multiple copies of input data
CN113298892A (zh) 一种图像编码方法和设备,及存储介质
CN115270690B (zh) 查找空闲存储的装置、方法及芯片
CN112163612B (zh) 基于fpga的大模板卷积图像匹配方法、装置及***
CN114065868A (zh) 文本检测模型的训练方法、文本检测方法及装置
US7634159B2 (en) System and method for parallel computation of an array transform
CN112906728A (zh) 一种特征比对方法、装置及设备
CN112184565B (zh) 一种多窗口串行的图像锐化方法
CN112836693B (zh) 一种光学字符识别重复检测方法和***
CN109948392B (zh) 二维码边界检测方法、分割方法、存储介质和电子设备
CN117710235B (zh) 图像目标增强方法、装置、计算机设备和存储介质
CN116092105B (zh) 表格结构的解析方法和装置
CN116228634B (zh) 用于图像检测的距离变换计算方法、应用、终端及介质
CN114359364A (zh) 一种高速低资源消耗的视差优化方法、装置及终端
CN116229445A (zh) 自然场景文本检测方法、***、存储介质及计算设备
CN110570444A (zh) 一种基于Box Filter算法的阈值计算方法

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
GR01 Patent grant
GR01 Patent grant