CN111950569B - 基于忆阻器阵列实现图像连通区域标记的方法、电子装置 - Google Patents

基于忆阻器阵列实现图像连通区域标记的方法、电子装置 Download PDF

Info

Publication number
CN111950569B
CN111950569B CN202010857355.8A CN202010857355A CN111950569B CN 111950569 B CN111950569 B CN 111950569B CN 202010857355 A CN202010857355 A CN 202010857355A CN 111950569 B CN111950569 B CN 111950569B
Authority
CN
China
Prior art keywords
pixel
matrix
memristor
image
value
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
CN202010857355.8A
Other languages
English (en)
Other versions
CN111950569A (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.)
Tsinghua University
Original Assignee
Tsinghua University
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 Tsinghua University filed Critical Tsinghua University
Priority to CN202010857355.8A priority Critical patent/CN111950569B/zh
Publication of CN111950569A publication Critical patent/CN111950569A/zh
Application granted granted Critical
Publication of CN111950569B publication Critical patent/CN111950569B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/44Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components
    • G06V10/457Local feature extraction by analysis of parts of the pattern, e.g. by detecting edges, contours, loops, corners, strokes or intersections; Connectivity analysis, e.g. of connected components by analysing connectivity, e.g. edge linking, connected component analysis or slices

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Image Processing (AREA)
  • Transforming Light Signals Into Electric Signals (AREA)

Abstract

一种基于忆阻器阵列实现图像连通区域标记的方法、电子装置,该方法包括:获取初始图像;在初始图像的行扩展方向和列扩展方向上进行边缘像素点扩展以得到扩展图像,扩展图像包括与初始图像对应的初始图像部分;依次遍历扩展图像中的初始图像部分的所有像素点,且在遍历初始图像部分的过程中,将每个被选择的像素点及与被选择的像素点在多个连通域检测方向上满足相邻关系的多个像素点作为一个计算单元组,分别输入忆阻器阵列中进行乘和运算以进行像素标签处理,以得到被选择的像素点的像素标签;将初始图像的所有像素点的像素标签,根据所有像素点在初始图像中的位置进行排列,以得到像素标签矩阵;对像素标签矩阵进行连通域编号处理。

Description

基于忆阻器阵列实现图像连通区域标记的方法、电子装置
技术领域
本公开的实施例涉及一种基于忆阻器阵列实现图像连通区域标记的方法、电子装置。
背景技术
图像特征提取在模式识别、目标检测、图像处理均有重要应用,如车牌检测、手写字体识别、遥感图像分析、星图识别等。图像特征提取对图像样本实施的操作有:图像预处理、图像分割、图像信息提取。图像分割结果一般包含多个区域,提取这些区域需要通过连通区域标记算法来实现。图像的连通区域标记是分析分割结果和进行后续目标识别的必要步骤,其目标为对图像的像素点进行标记,将连通区域记为相同标记,将非连通区域记为不同标记,不同连通域标记不同。
发明内容
本公开至少一实施例提供一种基于忆阻器阵列实现图像连通区域标记方法,包括:获取初始图像,其中,所述初始图像包括阵列排布的多个像素点,且所述初始图像为二值化图像,每个像素点的值为彼此不同的第一值和第二值中之一,所述方法用于标记具有所述第二值的一个或多个像素点构成的一个或多个连通域;在所述初始图像的行扩展方向和列扩展方向上进行边缘像素点扩展以得到扩展图像,其中,所述扩展图像包括与所述初始图像对应的初始图像部分,以及包括从所述边缘像素点扩展得到、且与所述初始图像部分在所述行扩展方向和所述列扩展方向相邻的扩展图像部分;依次遍历所述扩展图像中的所述初始图像部分的所有像素点,且在遍历所述初始图像部分的过程中,将每个被选择的像素点及与所述被选择的像素点在多个连通域检测方向上满足相邻关系的多个像素点作为一个计算单元组,分别输入所述忆阻器阵列中进行乘和运算以进行像素标签处理,以得到所述被选择的像素点的像素标签,其中,所述忆阻器阵列配置为可进行矩阵乘法运算,所述像素标签的不同取值对应于所述被选择的像素点的不同的连通特征;将所述初始图像的所有像素点的像素标签,根据所述所有像素点在所述初始图像中的位置进行排列,以得到像素标签矩阵;对所述像素标签矩阵进行连通域编号处理。
例如,在本公开至少一实施例提供的方法中,所述获取初始图像包括:对待处理图像进行区域划分,以得到至少一个所述初始图像;在所述初始图像的行扩展方向和列扩展方向上进行边缘像素点扩展以得到扩展图像,包括:响应于所述初始图像的边缘包括所述待处理图像在所述行扩展方向和所述列扩展方向中任一方向上的边缘像素点,对于每一个边缘像素点,增加一个与所述边缘像素点相邻且具有所述第一值的像素点作为第一扩展像素点;响应于所述初始图像的边缘包括所述待处理图像在所述任一方向上的非边缘像素点,增加在所述待处理图像中与所述非边缘像素点在所述任一方向上直接相邻的像素点作为第二像素扩展像素点,其中,所述扩展图像部分包括所述第一扩展像素点和/或所述第二扩展像素点。
例如,在本公开至少一实施例提供的方法中,在所述初始图像的行扩展方向和列扩展方向上进行边缘像素点扩展以得到扩展图像,还包括:响应于所述初始图像的边缘包括所述待处理图像在所述行扩展方向和所述列扩展方向中任一方向上的边缘像素点,对于与所述行扩展方向和所述列扩展方向都相交的对角方向上的第一边缘像素点,增加一个与所述第一边缘像素点在所述对角方向上相邻且具有所述第一值的像素点作为所述第一扩展像素点,响应于所述初始图像的边缘不包括所述待处理图像在所述任一方向上的边缘像素点,对于所述初始图像中与所述行扩展方向和所述列扩展方向都相交的对角方向上的第二边缘像素点,增加在所述待处理图像中与所述第二边缘像素点在所述对角方向上相邻的像素点作为所述第二像素扩展像素点。
例如,在本公开至少一实施例提供的方法中,所述对待处理图像进行区域划分,以得到至少一个所述初始图像,包括:基于所述忆阻器阵列的行数和列数以及所述计算单元组的像素点个数,对所述待处理图像进行区域划分,以得到至少一个所述初始图像。
例如,在本公开至少一实施例提供的方法中,所述行扩展方向为向左方向,所述列扩展方向为向上方向。
例如,在本公开至少一实施例提供的方法中,所述忆阻器阵列包括阵列排布的多个忆阻器单元,所述忆阻器阵列包括M行N列,每个忆阻器单元包括忆阻器,所述忆阻器能被设置为第一电导状态和第二电导状态,所述第一电导状态不同于所述第二电导状态,所述计算单元组中像素点的个数为q,在进行所述像素标签处理之前,所述方法还包括:设置所述忆阻器阵列中忆阻器电导值的分布,以使得,在每行忆阻器单元中,q个忆阻器单元的忆阻器具有所述第一电导状态,除所述q个忆阻器单元之外的忆阻器单元的忆阻器具有所述第二电导状态,且使得每列忆阻器单元中仅有一个忆阻器单元的忆阻器具有所述第一电导状态,其中,M、N和q为正整数,q小于或等于N。
例如,在本公开至少一实施例提供的方法中,在每行忆阻器单元中,所述q个忆阻器单元彼此连续相邻排布。
例如,在本公开至少一实施例提供的方法中,所述忆阻器阵列还包括M条字线、M条源线和N条位线,每个忆阻器单元还包括开关元件,所述忆阻器包括第一端和第二端,所述开关元件包括控制端、第一极和第二极,所述忆阻器的第一端与所述开关元件的第一极电连接,所述M条字线分别与所述M行对应,且每条字线与一行忆阻器单元的各个开关元件的控制端电连接,所述M条源线分别与所述M行对应,且每条源线与一行忆阻器单元的各个开关元件的第二极电连接,所述N条位线分别与所述N列对应,且每条位线与一列忆阻器单元的各个忆阻器的第二端电连接,其中,将每个被选择的像素点及与所述被选择的像素点在多个连通域检测方向上满足相邻关系的多个像素点作为一个计算单元组,分别输入所述忆阻器阵列中进行乘和运算以进行像素标签处理,以得到所述被选择的像素点的像素标签,包括:基于所述被选择的像素点的值将控制信号施加至被选择的一条字线,其中,所述第一值对应的控制信号用于截止所述开关元件,所述第二值对应的控制信号用于开启所述开关元件;基于所述被选择的像素点的计算单元组中各个像素点的值,将输入信号分别施加至所述被选择的一条字线所对应行中的q个具有所述第一电导状态的忆阻器的忆阻器单元的位线,其中,所述输入信号包括对应于所述第一值的第一输入信号和对应于所述第二值的第二输入信号,所述第一输入信号和所述第二输入信号的电平不同;检测与所述被选择的一条字线所对应行中的源线上的输出电流信号,并基于所述输出电流信号得到所述被选择的像素点的像素标签。
例如,在本公开至少一实施例提供的方法中,对于所述初始图像中在同一列中位于不同行上的多个像素点,分别选择所述忆阻器阵列的不同行进行处理。
例如,在本公开至少一实施例提供的方法中,对于所述初始图像中在同一列中位于不同行上彼此相邻的多个像素点,依序分别选择所述忆阻器阵列的彼此相邻的不同行进行处理。
例如,在本公开至少一实施例提供的方法中,所述像素标签处理,包括:从所述扩展图像中初始图像部分的第一列起,将每列中的每个被选择的像素点及与所述被选择的像素点在多个连通域检测方向上满足相邻关系的多个像素点作为一个计算单元组,逐列并行地将所述每个计算单元组分别输入所述忆阻器阵列中进行乘和运算以进行像素标签处理,以得到每个所述被选择的像素点的像素标签。
例如,在本公开至少一实施例提供的方法中,所述待处理图像包括多个所述初始图像,所述忆阻器阵列的行数M大于或等于至少两个所述初始图像的行数之和,所述像素标签处理包括:使用所述忆阻器阵列并行地对至少两个所述初始图像进行像素标签处理。
例如,在本公开至少一实施例提供的方法中,所述待处理图像包括多个所述初始图像,所述忆阻器阵列的行数M大于或等于所述初始图像的行数,所述像素标签处理包括:使用所述忆阻器阵列分别对所述多个初始图像进行像素标签处理,或者使用多个所述忆阻器阵列并行对所述多个初始图像进行像素标签处理。
例如,在本公开至少一实施例提供的方法中,所述多个连通域检测方向为两个连通域检测方向,所述计算单元组中像素点的个数为3;或者,所述多个连通域检测方向为四个连通域检测方向,所述计算单元组中像素点的个数为5。
例如,在本公开至少一实施例提供的方法中,所述两个连通域检测方向分别为向左方向和向上方向;所述四个连通域检测方向分别为向左方向、向左上方向、向上方向、向右上方向。
例如,在本公开至少一实施例提供的方法中,响应于所述电流信号对应于所述被选择的像素点的值为所述第一值,使得所述被选择的像素点的像素标签为R;响应于所述电流信号对应于所述被选择的像素点对应的所述计算单元组仅有所述被选择的像素点为所述第二值,使得所述被选择的像素点的像素标签为R+1;响应于所述电流信号对应于所述被选择的像素点对应的所述计算单元包括至少两个具有所述第二值的像素点,使得所述被选择的像素点的像素标签为R+2;其中,R为自然数。
例如,在本公开至少一实施例提供的方法中,对应于所述被选择的像素点的值为所述第一值的电流信号为电流强度为0,对应于所述被选择的像素点对应的所述计算单元组仅有所述被选择的像素点为所述第二值的电流信号为单位电流,对应于所述被选择的像素点对应的所述计算单元包括至少两个具有所述第二值的像素点的电流信号为大于或等于2的整数倍的所述单位电流。
例如,在本公开至少一实施例提供的方法还包括:基于由至少一个所述初始图像所得到的像素标签矩阵,以及根据所述区域划分的方式,得到所述待处理图像的组合像素标签矩阵,对所述像素标签矩阵进行连通域编号处理包括:对所述组合像素标签矩阵进行连通域编号处理。
例如,在本公开至少一实施例提供的方法中,所述对所述像素标签矩阵进行连通域编号处理,包括:初始化连通域编号计数值;使用掩膜矩阵依次遍历所述像素标签矩阵,并获取由所述掩模矩阵在所述像素标签矩阵中依次限定的待编号矩阵,基于所述待编号矩阵以及所述连通域编号计数值,对所述像素标签矩阵中的每个像素标签进行连通域编号处理,以得到更新后像素标签矩阵;其中,所述掩膜矩阵使得所述待编号矩阵中仅存在一个连通域。
例如,在本公开至少一实施例提供的方法中,所述像素标签的值为S,对应于具有所述第一值的像素点,所述像素标签的值为S+1,对应于独立且具有所述第二值的像素点,所述像素标签的值为S+2,对应于连通且具有所述第二值的像素点,S为自然数,且所述连通域编号计数值的初始值为S+2,
使用掩膜矩阵依次遍历所述像素标签矩阵,并获取由所述掩模矩阵在所述像素标签矩阵中依次限定的待编号矩阵,基于所述待编号矩阵以及所述连通域编号计数值,对所述像素标签矩阵中的每个像素标签进行连通域编号处理,以得到更新后像素标签矩阵,包括:在遍历所述像素标签矩阵的过程中,对于每个被选择像素标签,以所述被选择像素标签为起点,根据所述掩膜矩阵,获取所述掩膜矩阵与所述被选择像素标签对应的待编号矩阵;基于所述连通域编号计数值对所述待编号矩阵进行编号处理,以得到所述待编号矩阵中每个像素点对应的连通域编号;将所述像素标签矩阵中对应于所述待编号矩阵的每个像素点的像素标签更新为所述每个像素点对应的连通域编号,以得到更新后像素标签矩阵,将所述像素标签矩阵更新为更新后像素标签矩阵,继续执行遍历。
例如,在本公开至少一实施例提供的方法中,基于所述连通域编号计数值对所述待编号矩阵进行编号处理,以得到所述待编号矩阵中每个像素点对应的连通域编号,包括:获取所述待编号矩阵中的像素标签最大值;响应于所述像素标签最大值不等于S且小于或等于连通域编号计数值的初始值,将所述连通域编号计数值加1,并将所述待编号矩阵中的像素标签不是S的像素点的像素标签更新为所述连通域编号计数值的当前值,以得到待编号矩阵中每个像素点对应的连通域编号;响应于所述像素标签最大值大于连通域编号计数值的初始值,将所述待编号矩阵中的像素标签不是S的像素点的像素标签更新为所述像素标签最大值,以得到待编号矩阵中每个像素点对应的连通域编号。
例如,在本公开至少一实施例提供的方法中,基于所述待编号矩阵以及所述连通域编号计数值,对所述像素标签矩阵中的每个像素标签进行连通域编号处理,以得到更新后像素标签矩阵,包括:将已完成像素标签矩阵遍历的所述更新后像素标签矩阵中像素标签不是S的像素点的像素标签减去所述连通域编号计数值的初始值,以得到更新后像素标签矩阵,所述更新后像素标签矩阵为区域连通标记图像。
本公开至少一实施例提供一种电子装置,包括:忆阻器阵列;控制器,其中,所述控制器配置为执行以下步骤:获取初始图像,其中,所述初始图像包括阵列排布的多个像素点,且所述初始图像为二值化图像,每个像素点的值为彼此不同的第一值和第二值中之一,所述方法用于标记具有所述第二值的一个或多个像素点构成的一个或多个连通域;在所述初始图像的行扩展方向和列扩展方向上进行边缘像素点扩展以得到扩展图像,其中,所述扩展图像包括与所述初始图像对应的初始图像部分,以及包括从所述边缘像素点扩展得到、且与所述初始图像部分在所述行扩展方向和所述列扩展方向相邻的扩展图像部分;依次遍历所述扩展图像中的所述初始图像部分的所有像素点,且在遍历所述初始图像部分的过程中,将每个被选择的像素点及与所述被选择的像素点在多个连通域检测方向上满足相邻关系的多个像素点作为一个计算单元组,分别输入所述忆阻器阵列中进行乘和运算以进行像素标签处理,以得到所述被选择的像素点的像素标签,其中,所述忆阻器阵列配置为可进行矩阵乘法运算,所述像素标签的不同取值对应于所述被选择的像素点的不同的连通特征;将所述初始图像的所有像素点的像素标签,根据所述所有像素点在所述初始图像中的位置进行排列,以得到像素标签矩阵;对所述像素标签矩阵进行连通域编号处理。
例如,在本公开至少一实施例提供的电子装置中,所述忆阻器阵列包括阵列排布的多个忆阻器单元,所述忆阻器阵列包括M行N列;每个忆阻器单元包括忆阻器,所述忆阻器包括第一端和第二端,所述忆阻器能被设置为第一电导状态和第二电导状态,所述第一电导状态不同于所述第二电导状态;每个忆阻器单元还包括开关元件,所述开关元件包括控制端、第一极和第二极,所述忆阻器的第一端与所述开关元件的第一极电连接;所述忆阻器阵列还包括M条字线、M条源线和N条位线,所述M条字线分别与所述M行对应,且每条字线与一行忆阻器单元的各个开关元件的控制端电连接,所述M条源线分别与所述M行对应,且每条源线与一行忆阻器单元的各个开关元件的第二极电连接,所述N条位线分别于所述N列对应,且每条位线与一列忆阻器单元的各个忆阻器的第二端电连接。
例如,在本公开至少一实施例提供的电子装置中,所述忆阻器阵列的行数M大于或等于至少两个所述初始图像的行数之和,所述忆阻器阵列被配置为并行地对至少两个所述初始图像进行像素标签处理。
例如,在本公开至少一实施例提供的电子装置中,所述忆阻器阵列的行数M大于或等于所述初始图像的行数,所述忆阻器阵列被配置为串行对多个所述初始图像进行像素标签处理,或者多个所述忆阻器阵列被配置为并行对多个所述初始图像进行像素标签处理。
例如,在本公开至少一实施例提供的电子装置中,所述控制器包括连通域编号电路,所述连通域编号电路配置为对所述像素标签矩阵进行连通域编号处理。
例如,在本公开至少一实施例提供的电子装置中,所述连通域编号电路包括像素标签最大值计算模块、比较电路以及计数器;所述像素标签最大值模块用于计算,在遍历像素标签矩阵的过程中,由掩模矩阵在所述像素标签矩阵中依次限定的待编号矩阵中的像素标签最大值;所述比较电路包括对所述像素标签最大值和预设像素标签值进行比较的电路;所述计数器被配置为记录连通域编号计数值,根据所述比较电路的比较结果以及所述连通域编号计数值,输出所述像素标签矩阵中每个所述像素标签对应的连通域编号。
例如,在本公开至少一实施例提供的电子装置还包括:源线驱动电路,配置为对所述忆阻器阵列的M条源线的输出信号进行检测;字线驱动电路,配置为对所述忆阻器阵列的M条字线分别施加控制信号;位线驱动电路,配置为对所述忆阻器阵列的N条位线施加输入信号。
附图说明
为了更清楚地说明本公开实施例的技术方案,下面将对实施例的附图作简单地介绍,显而易见地,下面描述中的附图仅仅涉及本公开的一些实施例,而非对本公开的限制。
图1为一种忆阻器单元电路的示意图;
图2为一种忆阻器阵列的示意图;
图3为本公开至少一实施例提供的一种基于忆阻器阵列实现图像连通区域标记方法的示意性流程图;
图4A为图3所示的基于忆阻器阵列实现图像连通区域标记方法中步骤S120的示例流程图;
图4B为根据本公开一实施例提供的待处理图像示意图;
图4C为根据本公开一实施例提供的对图4B中的第一初始图像进行边缘像素点扩展示意图;
图4D为根据本公开一实施例提供的对图4B中的第二初始图像进行边缘像素点扩展示意图;
图5A为根据本公开至少一实施例提供的忆阻器阵列示意图;
图5B为基于图5A所示的忆阻器阵列实现图3所示的图像连通区域标记方法中步骤S130的示例流程图;
图5C为基于图5A所示的忆阻器阵列实现图3所示的图像连通区域标记方法中步骤S130的过程示意图;
图6A为根据公开至少一实施例提供的连通域编号处理的示例流程图;
图6B为根据公开至少一实施例提供的初始图像的示意图;
图6C为使用掩膜矩阵遍历由对图6B所示的初始图像进行处理得到的像素标签矩阵,以进行连通域编号处理过程的第一步的过程示意图;
图6D为对图6C所示的像素标签矩阵使用掩膜矩阵遍历以进行连通域编号处理过程的第二步的过程示意图;
图6E为对图6D所示的像素标签矩阵使用掩膜矩阵遍历以进行连通域编号处理过程的第三步的过程示意图;
图6F为对图6D所示的像素标签矩阵使用掩膜矩阵遍历以进行连通域编号处理过程的中间步骤的过程示意图;
图6G为对图6B所示的初始图像完成连通域编号处理得到的区域连通标记图像的示意图;
图6H为对图6B所示的初始图像完成连通域编号处理得到的另一区域连通标记图像的示意图;
图7为根据本公开一实施例提供的基于忆阻器阵列实现图像连通区域标记方法的示例性流程图;
图8A为本公开至少一实施例提供的一种电子装置的示意性框图;
图8B为本公开至少一实施例提供的一种连通域编号电路的示意性结构图。
具体实施方式
为了使得本公开实施例的目的、技术方案和优点更加清楚,下面将结合本公开实施例的附图,对本公开实施例的技术方案进行清楚、完整地描述。显然,所描述的实施例是本公开的一部分实施例,而不是全部的实施例。基于所描述的本公开的实施例,本领域普通技术人员在无需创造性劳动的前提下所获得的所有其他实施例,都属于本公开保护的范围。
除非另外定义,本公开使用的技术术语或者科学术语应当为本公开所属领域内具有一般技能的人士所理解的通常意义。本公开中使用的“第一”、“第二”以及类似的词语并不表示任何顺序、数量或者重要性,而只是用来区分不同的组成部分。“包括”或者“包含”等类似的词语意指出现该词前面的元件或者物件涵盖出现在该词后面列举的元件或者物件及其等同,而不排除其他元件或者物件。“连接”或者“相连”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电性的连接,不管是直接的还是间接的。“上”、“下”、“左”、“右”等仅用于表示相对位置关系,当被描述对象的绝对位置改变后,则该相对位置关系也可能相应地改变。
以下通过几个示例或实施例对根据本公开的至少一个实施例提供的基于忆阻器阵列实现图像连通区域标记方法进行非限制性的说明,如下面所描述的,在不相互抵触的情况下这些具体示例或实施例中不同特征可以相互组合,从而得到新的示例或实施例,这些新的示例或实施例也都属于本公开保护的范围。
二值化图像分析最重要的方法就是连通区域标记,连通区域标记是所有二值化图像分析的基础,它通过对二值化图像中目标像素(例如白色像素)的标记,让每个单独的连通区域形成一个被标识的块,进一步的获取这些块的轮廓、外接矩形、质心、不变矩等几何参数,以实现图像分析。连通区域(Connected Component)一般是指二值化图像中具有相同像素值且根据对应的连通判断方式(例如四连通或八连通)位置彼此相邻的像素点组成的图像区域。
现有技术中的连通域标记算法主要包括递归算法、逐行算法、游程编码算法。其中逐行算法应用最为广泛,该算法过程包括:对图像进行两遍扫描,扫描顺序为从上至下从左至右;在第一遍扫描过程中,检测二值化图像中不为0的像素点与多个连通域检测方向上像素点的连通关系,对没有满足连通关系的像素点赋予新像素标签,对满足连通关系的像素点取与其满足连通关系的像素点的像素标签最小值,同时建立等价对查找表;在第二遍扫描过程中,根据建立的等价对查找表对第一遍扫描中需要合并的像素标签进行合并。
但随着图像数据处理量越来越大,传统的以串行方式进行图像遍历的连通区域标记算法运行时间过长,难以满足实际应用中的效率需求。改进的连通区域标记方法主要集中在降低等价区域合并过程的时间复杂度和空间复杂度上,但对于数据量大且结构复杂的图像会导致扫描次数增加,进而产生延时较长的问题。
忆阻器(例如,阻变存储器、相变存储器、导电桥存储器等)是一种可以通过施加外部激励,调节其电导状态的非易失型器件。根据基尔霍夫电流定律和欧姆定律,由这类器件构成的阵列可以并行的完成乘累加计算,且存储和计算都发生在阵列各器件中。基于这种计算架构,可以实现不需要大量数据搬移的存算一体计算。目前,由忆阻器构成的交叉阵列可以并行完成矩阵矢量乘法操作,并广泛应用于加速神经网络算法中,因此可以采用忆阻器阵列完成矩阵向量乘法,实现像素点的像素标签计算。
本公开至少一个实施例提供一种基于忆阻器阵列实现图像连通区域标记方法,包括:获取初始图像,其中,初始图像包括阵列排布的多个像素点,且所述初始图像为二值化图像;在初始图像的行扩展方向和列扩展方向上进行边缘像素点扩展以得到扩展图像,其中,扩展图像包括与所述初始图像对应的初始图像部分,以及从所述边缘像素点扩展得到、且与初始图像部分在所述行扩展方向和所述列扩展方向相邻的扩展图像部分;依次遍历扩展图像中的初始图像部分的所有像素点,且在遍历初始图像部分的过程中,将每个被选择的像素点及与被选择的像素点在多个连通域检测方向上满足相邻关系的多个像素点作为一个计算单元组,分别输入忆阻器阵列中进行乘和运算以进行像素标签处理,以得到所述被选择的像素点的像素标签;将所述图像的所有像素点的像素标签,根据所有像素点在初始图像中的位置进行排列,以得到像素标签矩阵;对像素标签矩阵进行连通域编号处理。
本公开至少一实施例还提供对应于上述基于忆阻器阵列实现图像连通区域标记方法的电子装置。
与传统连通区域标记算法相比,本公开的至少一实施例提出的基于忆阻器阵列的图像连通区域标记方法可以不必进行多次判断就能够获取二值化图像中的像素点的像素标签,也即,无需多次判断像素点与满足连通域检测方向上的像素点是否不为连通域判断对象的第一值(例如0)(即针对第二值进行连通域判断);此外,本公开的实施例无需逐个比较两个像素点的像素标签大小,同时也无需建立和存储等价对查找表,通过忆阻器阵列进行像素标签计算,显著提高算法效率,降低图像处理延时。
下面结合附图对本公开的实施例进行详细说明,但是本公开并不限于这些具体的实施例。
图1为一种忆阻器单元电路的示意图。如图1所示,该忆阻器单元电路采用1T1R结构,即该忆阻器单元电路包括一个晶体管M1和一个忆阻器R1。
需要说明的是,本公开的实施例中采用的晶体管均可以为薄膜晶体管或场效应晶体管(例如MOS场效应晶体管)或其他特性相同的开关器件。这里采用的晶体管的源极、漏极在结构上可以是对称的,所以其源极、漏极在结构上可以是没有区别的。在本公开的实施例中,为了区分晶体管除栅极之外的两极(即源极和漏极),直接描述了其中一极为第一极,而另一极为第二极。
本公开的实施例对采用的晶体管的类型不作限定,例如当晶体管M1采用N型晶体管时,其栅极和字线端WL连接,例如字线端WL输入高电平时晶体管M1导通;晶体管M1的第一极可以是源极并被配置为和源线端SL连接,例如晶体管M1可以通过源线端SL接收复位电压;晶体管M1的第二极可以是漏极并被配置为和忆阻器R1的第二极(例如负极)连接,忆阻器R1的第一极(例如正极)和位线端BL连接,例如忆阻器R1可以通过位线端BL接收置位电压。例如当晶体管M1采用P型晶体管时,其栅极和字线端WL连接,例如字线端WL输入低电平时晶体管M1导通;晶体管M1的第一极可以是漏极并被配置为和源线端SL连接,例如晶体管M1可以通过源线端SL接收复位电压;晶体管M1的第二极可以是源极并被配置为和忆阻器R1的第二极(例如负极)连接,忆阻器R1的第一极(例如正极)和位线端BL连接,例如忆阻器R1可以通过位线端BL接收置位电压。需要说明的是,阻变存储器结构还可以实现为其他结构,例如忆阻器R1的第二极与源线端SL连接的结构,本公开的实施例对此不作限制。
下面各实施例均以晶体管M1采用N型晶体管为例进行说明。
字线端WL的作用是对晶体管M1的栅极施加相应电压,从而控制晶体管M1导通或关闭。在对忆阻器R1进行操作时,例如进行置位操作或复位操作,均需要先开启晶体管M1,即需要通过字线端WL对晶体管M1的栅极施加导通电压。在晶体管M1导通后,例如,可以通过在源线端SL和位线端BL向忆阻器R1施加电压,以改变忆阻器R1的阻态。例如,可以通过位线端BL施加置位电压,以使得该忆阻器R1处于低阻态;又例如,可以通过源线端SL施加复位电压,以使得该忆阻器R1处于高阻态。
需要说明的是,在本公开的实施例中,通过字线端WL和位线端BL同时施加电压,可以使得忆阻器R1的电阻值越来越小,即忆阻器R1从高阻态变为低阻态,将使得忆阻器R1从高阻态变为低阻态的操作称为置位操作;通过字线端WL和源线端SL同时施加电压,可以使得忆阻器R1的电阻值越来越大,即忆阻器R1从低阻态变为高阻态,将使得忆阻器R1从低阻态变为高阻态的操作称为复位操作。例如,忆阻器R1具有阈值电压,在输入电压幅度小于忆阻器R1的阈值电压时,不会改变忆阻R1的电阻值(或电导值)。在这种情况下,可以通过输入小于阈值电压的电压,利用忆阻器R1的电阻值(或电导值)进行计算;可以通过输入大于阈值电压的电压,改变忆阻器R1的电阻值(或电导值)。
图2示出了一种忆阻器阵列,该忆阻器阵列由多个如图1中所示的忆阻器单元电路构成,例如多个忆阻器单元电路构成一个m行n列的阵列,m为大于1的整数,n为大于等于1的整数。图2中WL<1>、WL<2>……WL<m>分别表示第一行、第二行……第m行的字线,每一行的忆阻器单元电路中的晶体管的栅极和该行对应的字线连接;图2中BL<1>、BL<2>……BL<n>分别表示第一列、第二列……第n列的位线,每列的忆阻器单元电路中的忆阻器和该列对应的位线连接;图2中SL<1>、SL<2>……SL<m>分别表示第一行、第二行……第n行的源线,每一行的忆阻器单元电路中的晶体管的源极和该行对应的源线连接。根据基尔霍夫定律可知,忆阻器阵列可以并行地完成乘累加计算,具体过程不再赘述。
图3为本公开至少一实施例提供的一种基于忆阻器阵列实现图像连通区域标记方法的示意性流程图,例如该方法所基于的忆阻器阵列的一个示例如图5A所示的忆阻器阵列。
例如,如图3所示,本公开实施例提供的基于忆阻器阵列实现图像连通区域标记方法包括步骤S110至S150,下面将结合具体示例对这些步骤进行说明。
首先,如图3所示,在步骤S110,获取初始图像。初始图像包括阵列排布的多个像素点,且初始图像为二值化图像,每个像素点的值为彼此不同的第一值和第二值中之一。该图像连通区域标记方法用于标记具有第二值的一个或多个像素点构成的一个或多个连通域。例如,该第一值为0而第二值为1,但是本公开的实施例对此不进行限制;为了方便,在下面的示范性描述中以该第一值为0而第二值为1为例进行描述。
另外,在下面的描述和附图中为了方便理解,行方向为水平方向,而列方向为竖直方向。然而,可以理解的是,“行”和“列”是相对的,也可以是行方向为竖直方向而列方向为水平方向,本公开的实施例并不限于附图所示的情形。
例如,初始图像可以为各种类型的图像,例如,可以为购物清单的图像、餐饮小票的图像、试卷的图像、合同的图像等。
例如,初始图像可以包括至少一个对象,对象可以为字符,字符可以包括中文(例如,汉字或拼音)、英文、日文、法文、韩文、拉丁文、数字等,此外,对象还可以包括各种符号(例如,大于符号、小于符号、百分号等)和各种图形等。至少一个对象可以包括印刷或者机器输入的字符,也可以包括手写字符。
例如,初始图像可以为通过图像采集装置(例如,数码相机或手机等)拍摄的图像并经过图像预处理得到的二值化图像。
例如,在本公开至少一实施例中,首先获取待处理图像,然后对待处理图像进行图像预处理,以得到初始图像。
例如,待处理图像可以最初为彩色图像,图像预处理包括对待处理图像进行灰度化处理以得到灰度图像;对灰度图像进行二值化处理,将灰度图像像素点的像素值变为第一值和第二值之一,以得到二值化图像。例如,在至少一个示例中,还可以对二值化图像进行图像腐蚀、图像膨胀等去噪处理,以得到待处理图像,然后再由该待处理图像得到初始图像。
例如,二值化处理可以采用阈值法,阈值法包括:设置二值化阈值,将灰度图像中的每个像素点的灰阶值与二值化阈值进行比较,若灰度图像中的某像素点的灰阶值大于或等于二值化阈值,则将该像素点的灰阶值设置为第一值(例如0),若待处理图像中的某像素点的灰阶值小于二值化阈值,则将该像素点的灰阶值设置为第二值(例如1)。例如,对于灰阶值的范围为0~225的情形,二值化阈值可以被选择为200。例如,二值化阈值的选取方法包括双峰法、P参数法、大律法(OTSU法)、最大熵值法、迭代法等。
例如,在本公开至少一实施例中,对待处理图像进行区域划分,以得到至少一个初始图像。例如,待处理图像为二值化图像,且图像尺寸较大而当前的忆阻器阵列无法一次性处理时,则可以根据忆阻器阵列规模对待处理图像进行图像区域划分,以得到至少一个初始图像,使得图像连通区域标记的实现不受忆阻器阵列规模约束,可以实现对多个初始图像的并行处理,极大提高图像处理效率。此外,也可以根据图像处理的延时要求进行图像区域划分,如果延时要求高,即使当前的忆阻器阵列可以一次性处理全部待处理图像,也可进行图像区域划分。可以理解的是,本公开的实施例对于忆阻器阵列的尺寸以及对于待处理图像的尺寸没有限制,且在实践中二者都是可以调整或选择的。
例如,忆阻器阵列规模为M*N(M为忆阻器阵列的行数,N为忆阻器阵列的列数)。例如,参考图2以及图5A所示的忆阻器阵列,对初始图像采用四连通判断方式,若忆阻器阵列的行数M的3倍大于或等于忆阻器阵列的列数N,则初始图像的大小取决于忆阻器阵列的列数,也即初始图像中行数的3倍不能超过忆阻器阵列的列数;反之,若忆阻器阵列的列数N大于或等于忆阻器阵列的行数M的3倍,则初始图像的大小取决于忆阻器阵列的行数,也即初始图像的行数不能超过忆阻器阵列的行数。例如,忆阻器阵列规模为32*128(即32行128列)而待处理图像的尺寸为64*32(即64行32列,每行有32个像素点,每列有64个像素点),由于忆阻器阵列的列数大于忆阻器阵列的行数的3倍,因此初始图像的行数不能超过忆阻器阵列的行数,也即初始图像的行数小于等于32,例如,初始图像的尺寸为32*32(即32行32列),由此得到2个相同大小的初始图像,当然也可以选择尺寸为例如16*16(即16行16列),由此得到8个相同大小的初始图像;并且,这里需要注意的是,初始图像的列数可以不做限制,取决于待处理图像的大小,例如可以选择为1~32中的某一数值。
例如,参考图2以及图5A所示的忆阻器阵列,对初始图像采用八连通或M连通判断方式,若忆阻器阵列的行数M的5倍大于或等于忆阻器阵列的列数N,则初始图像的大小取决于忆阻器阵列的列数,也即初始图像中行数的5倍不能超过忆阻器阵列的列数;反之,若忆阻器阵列的列数N大于或等于忆阻器阵列的行数M的5倍,则初始图像的大小取决于忆阻器阵列的行数,也即初始图像的行数不能超过忆阻器阵列的行数。例如,忆阻器阵列规模为32*128(即32行128列)而待处理图像的尺寸为64*32(即64行32列),由于忆阻器阵列的行数的5倍大于忆阻器阵列的列数,因此初始图像的行数的5倍不能超过忆阻器阵列的列数,也即初始图像的行数小于等于25,例如,初始图像的尺寸为16*32(即16行,32列),由此得到4个相同大小的初始图像。
例如,当初始图像相对于待处理图像不能整切时,例如,初始图像的尺寸为40*30,待处理图像的尺寸为1000*980,首先将待处理图像按照初始图像尺寸划分为(1000/40)*(960/30)=25*32个尺寸为40*30的初始图像,之后将待处理图像中剩余的区域划分为25个尺寸为40*20的初始图像,将这部分初始图像按照40*20的尺寸输入忆阻器阵列进行处理,其处理时间为尺寸为40*30的初始图像处理时间的2/3。
需要说明的是,在本公开的实施例中,尺寸的单位均为像素,也就是说,例如,初始图像的尺寸为32*32,其表示初始图像的尺寸为32像素×32像素。如要指出的是,当待处理图像为彩色图像时,例如RGB形式的彩色图像,则每个像素点由对应的RGB子像素(例如彼此相邻连续排列)组成。
然后,如图3所示,在步骤S120,在初始图像的行扩展方向和列扩展方向上进行边缘像素点扩展以得到扩展图像,其中,扩展图像包括与初始图像对应的初始图像部分,以及包括从边缘像素点扩展得到、且与初始图像部分在行扩展方向和所述列扩展方向相邻的扩展图像部分。
图4A为图3所示的基于忆阻器阵列实现图像连通区域标记方法中步骤S120的示例流程图。
例如,在本公开至少一实施例中,如图4A所示,图像连通区域标记方法中的步骤S120可以具体包括步骤S1201至S1202。
在步骤S1201,响应于初始图像的边缘包括待处理图像在行扩展方向和列扩展方向中任一方向上的边缘像素点,对于每一个边缘像素点,增加一个与边缘像素点相邻且具有第一值的像素点作为第一扩展像素点;
在步骤S1202,响应于初始图像的边缘包括待处理图像在任一方向上的非边缘像素点,增加在待处理图像中与非边缘像素点在所述任一方向上直接相邻的像素点作为第二像素扩展像素点。
扩展图像部分包括所述第一扩展像素点和/或所述第二扩展像素点。
例如,如图4B所示的根据本公开一实施例提供的待处理图像示意图。例如,对待处理图像采用四连通判断方式,行扩展方向选择为向左,同时列扩展方向选择为向上。例如,根据步骤S110中的图像区域划分方法,将待处理图像划分为包括第一初始图像、第二初始图像在内的多个初始图像,每个初始图像如图中粗线框所示,其中,第一初始图像及第二初始图像分别位于左上角和右下角。
例如,对于第一初始图像,其边缘包括待处理图像的左侧边缘像素点和上侧边缘像素点,从而根据步骤S1201,对第一初始图像中的每一个左侧边缘像素点,在该左侧边缘像素点的左侧增加一个与该左侧边缘像素点相邻且具有第一值(这里为0)的像素点作为第一扩展像素点;对第一初始图像中的每一个上侧边缘像素点,在该上侧边缘像素点的上侧增加一个与该上侧边缘像素点相邻且具有第一值(这里为0)的像素点作为第一扩展像素点。
在进行上述边缘扩展之后,尚余下左上角对应位置的像素点(参见图4C中阴影填充的像素点)未处理,因此还需进一步针对该对角位置进行对角扩展处理。
例如,步骤S1201还可以包括:响应于初始图像的边缘包括待处理图像在行扩展方向和列扩展方向中任一方向上的边缘像素点,对于与行扩展方向和列扩展方向都相交的对角方向上的第一边缘像素点,增加一个与第一边缘像素点在对角方向上相邻且具有第一值的像素点作为第一扩展像素点。
例如,在第一初始图像中左侧和上侧相交的对角方向上的第一边缘像素点,也即从第一初始图像的左上角开始数起的第一行、第一列对应的像素点(例如第一初始图像的左上角值为1的像素点),增加一个与该第一边缘像素点在对角方向(也即左上方向)相邻的、具有第一值(这里为0)的像素点作为第一扩展像素点(例如图4C中阴影填充的像素点)。
在经过上述边缘扩展处理和对角扩展处理之后,得到如图4C所示的对应于第一初始图像的扩展图像示意图。
例如,对于第二初始图像,其左侧边缘和上侧边缘(即在扩展方向上的边缘)均位于待处理图像内部,也即包括待处理图像的非边缘像素点,从而根据步骤S1202,对第二初始图像中每一个左侧边缘像素点,在该左侧边缘像素点的左侧增加一个位于待处理图像中的、且与该左侧边缘像素点的左侧直接相邻的像素点作为第二扩展像素点;对第二初始图像中每一个上侧边缘像素点,在该上侧边缘像素点的上侧增加一个位于待处理图像中的、且与该上侧边缘像素点的上侧直接相邻的像素点作为第二扩展像素点。
在进行上述边缘扩展之后,尚余下左上角对应位置的像素点(参见图4D中阴影填充的像素点)未处理,因此还需进一步针对该对角位置进行对角扩展处理。
例如,步骤S1202还可以包括:响应于初始图像的边缘不包括待处理图像在任一方向上的边缘像素点,对于初始图像中与行扩展方向和列扩展方向都相交的对角方向上的第二边缘像素点,增加在待处理图像中与第二边缘像素点在对角方向上相邻的像素点作为第二扩展像素点。
例如,在第二初始图像中左侧和上侧相交的对角方向上的第二边缘像素点,也即从第二初始图像的左上角开始数起的第一行、第一列的像素点(例如第二初始图像的左上角值为0的像素点),增加一个位于待处理图像中的、且与该第二边缘像素点在对角方向(也即左上方向)相邻的像素点作为第二扩展像素点(例如图4D中阴影填充的像素点)。
在经过上述边缘扩展和对角扩展处理之后,得到如图4D所示的对应于第二初始图像的扩展图像示意图。
需要说明的是,对于行扩展方向和列扩展方向可以根据需要选择,例如,基于操作的对称性,行扩展方向可以选择为向右方向,同时列扩展方向可以选择为向下方向,本公开对此不作限制。在下面的描述中仍然以行扩展方向为向左方向而列扩展方向为向上方向为例进行说明。
接着,如图3所示,在步骤S130,依次遍历扩展图像中的初始图像部分的所有像素点,且在遍历初始图像部分的过程中,将每个被选择的像素点及与被选择的像素点在多个连通域检测方向上满足相邻关系的多个像素点作为一个计算单元组,分别输入忆阻器阵列中进行乘和运算以进行像素标签处理,以得到被选择的像素点的像素标签。
例如,该遍历的过程可以是对初始图像部分的所有像素点逐个进行处理,例如从初始图像部分左上角的一个像素点开始从左到右且从上到下逐个处理,直到右下角的一个像素点结束;该遍历的过程也可以是多个像素点同时进行处理,例如逐列进行处理,例如从初始图像部分最左侧第1列开始,逐列进行处理,直到最后侧第1列结束。
例如,忆阻器阵列配置为可进行矩阵乘法运算,运算所得到的像素标签的不同取值对应于被选择的像素点的不同的连通特征。
例如,像素标签处理过程可以包括:从扩展图像中初始图像部分的第一列起,将每列中的每个被选择的像素点及与被选择的像素点在多个连通域检测方向上满足相邻关系的多个像素点作为一个计算单元组,逐列并行地将每个计算单元组分别输入忆阻器阵列中进行乘和运算以进行像素标签处理,以得到每个被选择的像素点的像素标签。
图5A为根据本公开至少一实施例提供的忆阻器阵列示意图。
如图5A所示,忆阻器阵列包括阵列排布的多个忆阻器单元,且包括M行N列,也即每行有N个忆阻器单元,每列有M个忆阻器单元。每个忆阻器单元包括忆阻器,其中,该忆阻器能够被设置为第一电导状态(例如低阻态)和第二电导状态(例如高阻态),这里第一电导状态不同于第二电导状态,且每个忆阻器包括第一端和第二端。例如,参考图1和图2,每个忆阻器单元还包括开关元件,该开关元件包括控制端、第一极和第二极,开关元件的第一极与忆阻器的第一端电连接。
此外,该忆阻器阵列还包括M条字线、M条源线和N条位线。其中,M条字线分别与忆阻器阵列的M行对应,且每条字线与一行忆阻器单元的各个开关元件的控制端电连接;M条源线分别与忆阻器阵列的M行对应,且每条源线与一行忆阻器单元的各个开关元件的第二极电连接;N条位线分别与忆阻器阵列的N列对应,且每条位线与一列忆阻器单元的各个忆阻器的第二端电连接。并且,如图所示,M条源线分别与对应的ADC(模数转换电路)连接,由该ADC对对应的源线上的信号进行检测并转换为数字信号(即像素标签),然后存储在内存(即存储器中)以得到标签矩阵并供后续处理之用,例如用于生成连通域编号等。
在步骤S130前,还需要设置忆阻器阵列中每个忆阻器的电导值分布,以便于后续进行处理以完成像素标签处理。
例如,每个输入忆阻器阵列的计算单元组中像素点的个数为q,对于不同的连通域判断方式(例如四连通或八连通),q的取值不同,本公开对此不作限制。
忆阻器阵列的电导值设置包括:每行忆阻器单元中,设置q个忆阻器单元的忆阻器具有第一电导状态(例如低阻态),除这q个忆阻器单元之外的忆阻器单元的忆阻器均具有第二电导状态(例如高阻态),且每列忆阻器单元中仅有一个忆阻器单元的忆阻器具有第一电导状态。例如,这q个具有第一电导状态的忆阻器单元彼此连续相邻排布。
例如,当对初始图像采用四连通判断方式,则q为3,可以采用图5A所示的忆阻器阵列。如图5A所示(以及参考图5C),每行忆阻器单元中,设置3个忆阻器单元的忆阻器具有第一电导状态(低阻态,即图5C中的“1”),除这3个忆阻器单元之外的忆阻器单元的忆阻器均具有第二电导状态(高阻态,即图5C中的“0”),且每列忆阻器单元中仅有一个忆阻器单元的忆阻器具有第一电导状态。例如,这3个具有第一电导状态的忆阻器单元彼此连续相邻排布,分别对应于四连通方式中被选择的像素点(即像素n)以及该像素点左侧的像素(即像素n左)以及上侧的像素(即像素n上)。
在另一示例中,若对初始图像采用八连通或M连通等判断方式,则q为5,可以根据对应连通方式下的计算单元组中像素点的个数取相应值。每行忆阻器单元中,设置5个忆阻器单元的忆阻器具有第一电导状态(低阻态),除这5个忆阻器单元之外的忆阻器单元的忆阻器均具有第二电导状态(高阻态),且每列忆阻器单元中仅有一个忆阻器单元的忆阻器具有第一电导状态。例如,这5个具有第一电导状态的忆阻器单元彼此连续相邻排布,分别对应于八连通方式中被选择的像素点(即像素n)以及该像素点左侧的像素(即像素n左)、该像素点左上侧的像素(即像素n左上)、上侧的像素(即像素n上)以及右上侧的像素(即像素n右上)。
结合图5B和图5A,说明基于忆阻器阵列实现图3所示的图像连通区域标记方法中步骤S130的示例流程图。
例如,在本公开至少一实施例中,如图5B所示,图像连通区域标记方法中的步骤S130可以具体包括步骤S1301至S1303。
在步骤S1301,基于被选择的像素点的值将控制信号施加至被选择的一条字线,其中,第一值对应的控制信号用于截止开关元件,第二值对应的控制信号用于开启开关元件。
在步骤S1302,基于被选择的像素点的计算单元组中各个像素点的值,将输入信号分别施加至被选择的一条字线所对应行中的q个具有第一电导状态忆阻器的忆阻器单元的位线,其中,输入信号包括对应于第一值的第一输入信号和对应于第二值的第二输入信号,第一输入信号和第二输入信号的电平不同。
在将输入信号施加至忆阻器阵列中时,可以将输入信号以任意顺序分别施加至被选择的一条字线所对应行中的q个忆阻器单元的位线,本公开对此不作限制。对于初始图像中在同一列中位于不同行上的多个像素点,分别选择忆阻器阵列的不同行进行处理,本公开对此不作限制。例如,对于初始图像中在同一列位于不同行上彼此相邻的多个像素点,可以依序分别选择忆阻器阵列的彼此相邻的不同行进行处理。
在步骤S1303,检测与被选择的一条字线所对应行中的源线上的输出电流信号,并基于电流信号得到被选择的像素点的像素标签。
若电流信号对应于被选择的像素点的值为第一值,使得被选择的像素点的像素标签为R;若电流信号对应于被选择的像素点对应的计算单元组仅有被选择的像素点为所述第二值,使得被选择的像素点的像素标签为R+1;若电流信号对应于被选择的像素点对应的计算单元包括至少两个具有第二值的像素点,使得被选择的像素点的像素标签为R+2;其中,R为自然数。
例如,对应于被选择的像素点的值为第一值的电流信号为电流强度为0,使得被选择的像素点的像素标签为0;对应于被选择的像素点对应的计算单元组仅有被选择的像素点为第二值的电流信号为单位电流,使得被选择的像素点的像素标签为1;对应于被选择的像素点对应的计算单元包括至少两个具有第二值的像素点的电流信号为大于或等于2的整数倍的单位电流,使得被选择的像素点的像素标签为2。也即,在该示例中,以单位电流的倍数来表示被选择的像素点的值以及其连通状态,且R选择为0。
图5C为基于图5A所示的忆阻器阵列实现图3所示的图像连通区域标记方法中步骤S130的过程示意图。
例如,如图5C所示,左侧矩阵为对图像尺寸为32*32的初始图像执行步骤S120后得到的扩展图像,该扩展图像包括初始图像部分和扩展图像部分,其中扩展图像部分包括左侧扩展图像(即图5C中最左侧一列像素)和上方扩展图像(即图5C中最上侧一行像素),扩展图像中的“0”和“1”分别代表像素点的像素值;右侧矩阵为对应于四连通方式设置的忆阻器阵列,在该忆阻器阵列中“0”代表该忆阻器单元中的忆阻器为高阻态,“1”代表该忆阻器单元中的忆阻器为低阻态,例如,该高阻态对应的阻值远大于低阻态对应的阻值,该高阻态对应的阻值为低阻态对应的阻值为10倍以上,优选为100或1000倍以上。
并且,图5C中,WL代表忆阻器阵列中某一行的字线输入信号,字线输入信号与初始图像中对应像素点的像素值对应,且字线输入信号“1”表示开启开关元件的控制信号,字线输入信号“0”表示截止开关元件的控制信号;VBL代表每列忆阻器单元的位线输入信号,位线输入信号与初始图像中对应像素点的像素值对应,且位线输入信号“0”表示例如第一输入电压(例如接地电压),位线输入信号“1”表示第二输入电压,且第二输入电压高于第一输入电压,例如第一输入电压表示0伏(例如接地电压);SL代表根据忆阻器阵列中某一行的源线上的输出电流信号所得到的被选择的像素点的像素标签;每行源线例如被施加参考电压,例如0伏电压(例如接地电压),且其上的输出电流信号经由ADC(模数转换电路)模块进行电流检测,以得到被选择的像素点的像素标签。
下面以图5C为例,具体说明像素标签处理的过程。例如,对初始图像采用四连通判断方式,多个连通域检测方向为两个连通域检测方向,分别为向左方向和向上方向,且如上所述,计算单元组的像素点个数为3。设置忆阻器阵列每行包括3个低阻态忆阻器,每列有且仅有一个低阻态忆阻器。从该扩展图像中初始图像部分的第一列起,也即该扩展图像中的第二行第二列的像素点起,将每列中每个被选择的像素点以及其左侧、上方的像素点作为一个计算单元组,逐列并行地将该列中的每个像素对应的计算单元组分别输入该忆阻器阵列以得到每个被选择的像素点的像素标签。
例如,如图5C中左侧虚线框所限定的一列像素点,从该列像素点的第二个像素点开始,将每个被选择的像素点以及其左侧、上方的像素点作为一个计算单元组,并行将每个计算单元组分别输入忆阻器阵列的第1行至第32行以进行像素标签处理。
例如,针对每个计算单元组,将每个被选择的像素点的像素值施加至被选择的一条字线WL,若像素点的像素值为第一值(例如0),则截止被选择字线所对应行中的开关元件,若像素点的像素值为第二值(例如1),则开启被选择字线所对应行中的开关元件。
例如,该列像素点中的第2个像素点的像素值为“1”,则将“1”作为忆阻器阵列第一行的字线WL的输入信号,开启忆阻器阵列中第1行中的开关元件;例如,该列像素点中的最后一个像素点(即第32个像素点)的像素值为“0”,则将“0”作为忆阻器阵列第32行的字线WL的输入信号,截止忆阻器阵列中第32行中的开关元件,依次类推对其余的字线施加相应的输入信号。
例如,针对每个计算单元组,将每个计算单元组中各个像素点的像素值,作为输入信号施加至被选择的一条字线所对应行中的3个具有低阻态忆阻器的忆阻器单元的位线。例如,由该列像素点中的第2个像素点所得到的计算单元的3个像素点包括其自身为“1”的像素点、左侧为“1”的像素点以及上侧为“0”的像素点,将这三个像素点的像素值对应的输入电压(即第二输入电压、第二输入电压以及第一输入电压)分别输入忆阻器阵列第1行中的三个具有低阻态忆阻器的忆阻器单元的位线,分别如图中VBL1、VBL1L以及VBL1R所示;例如,由该列像素点中的第3个像素点所得到的计算单元的3个像素点包括其自身为“1”的像素点、左侧为“1”的像素点以及上侧为“1”的像素点,将这三个像素点的像素值对应的输入电压(均为第二输入电压)分别输入忆阻器阵列第2行中的三个具有低阻态忆阻器的忆阻器单元的位线,分别如图中VBL2、VBL2L以及VBL2R所示,依次类推对其余的位线施加相应的输入电压。
例如,针对每个计算单元组,检测其输入的忆阻器阵列对应行中的源线上的输出电流信号,若该计算单元组对应行中的源线上的输出电流信号的电流强度为0,则该计算单元组中被选择的像素点对应的像素标签为0,对应于被选择的像素点的像素值为第一值(例如0)。例如,图5C中忆阻器阵列的第32行,由于WL=0,则忆阻器阵列中该行中的全部忆阻器单元中的开关元件均截止,因此没有电流能够流过该行中的忆阻器单元,因此该第32行源线上的输出电流信号的电流强度为0,对应于被选择的像素点的像素值为0且其像素标签也为0(即SL=“0”)。
若该计算单元组对应行中的源线输出电流信号的电流强度为单位电流,则该计算单元组中被选择的像素点对应的像素标签为1,对应于该计算单元组仅有被选择的像素点为第二值(例如1)。
若该计算单元组对应行中的源线输出电流信号的电流强度为大于或等于2的整数倍的单位电流,则该计算单元组中被选择的像素点对应的像素标签为2,对应于该计算单元组包括至少两个具有第二值的像素点。例如,对于图5C中忆阻器阵列第2行,由于WL=1,则忆阻器阵列中该行中的全部忆阻器单元中的开关元件均开启,因此允许电流能够流过该行中的忆阻器单元。对于处于高阻态(即值为0)的忆阻器单元,即使其位线上被施加了第二输入电压(即值为1),由于高阻态的阻值远高于低阻态的阻值,因此该忆阻器单元所产生的电流相对于下面描述的单位电流也基本可以忽略。对于阻值为低阻态(即值为1)的忆阻器单元,如果其位线上被施加了第一输入电压(即值为0),因为该位线和对应源线之间的电压差基本为0,则该忆阻器单元所产生的电流也基本可以忽略,如果其位线上被施加了第二输入电压(即值为1),则产生1倍单位电流,这样的忆阻器单元刚好有3个(即图中忆阻器阵列中第2行中第4-第6列中的3个忆阻器单元),因此该行源线的输出电流信号的电流强度为这三个忆阻器单元流过的电流之和,即为3倍单位电流,对应于该计算单元组中被选择的像素点、左侧像素点和上侧像素点的像素值均为第二值,则该计算单元组中被选择的像素点对应的像素标签为2(即SL=“2”)。
相应地,例如,对于图5C中忆阻器阵列第1行,仅有第1-第2列中的两个忆阻器单元可以分别产生1倍单位电流,该该行源线的输出电流信号的电流强度为这两个忆阻器单元流过的电流之和,即为2倍单位电流,对应于该计算单元组中被选择的像素点与左侧像素点的像素值均为第二值(或者对应于该计算单元组中被选择的像素点与上侧像素点的像素值均为第二值),则该计算单元组中被选择的像素点对应的像素标签为2(即SL=“2”)。
例如,待处理图像包括多个初始图像,若忆阻器阵列的行数大于或等于至少两个初始图像的行数之和,则可以使用该忆阻器阵列并行地对至少两个初始图像进行像素标签处理。例如,待处理图像包括多个初始图像,若忆阻器阵列的行数大于或等于初始图像的行数,则可以使用忆阻器阵列分别对多个初始图像进行像素标签处理,或者使用多个忆阻器阵列并行对多个初始图像进行像素标签处理。
当使用多个忆阻器阵列对多个初始图像并行处理时,可以通过多个初始图像的并行处理实现像素标签的并行输出,且遍历过程的计算效率不受图像规模影响,显著提高算法效率、减小处理延时。
上述实施例描述的基于忆阻器阵列的像素标签处理方法,仅需一次图像遍历即可完成像素标签处理,不必进行多次判断以获取像素点的像素标签,也即无需多次判断像素点与满足连通域检测方向上的像素是否不为第一值(例如0),提高图像处理效率。
接着,如图3所示,在步骤S140,将初始图像的所有像素点的像素标签,根据所有像素点在初始图像中的位置进行排列,以得到像素标签矩阵。
例如,待处理图像包括多个初始图像,基于由多个初始图像通过执行步骤S120-S130得到的每个初始图像对应的像素标签矩阵,根据步骤S110中的图像区域划分方式,将多个像素标签矩阵组合得到组合像素标签矩阵,并在步骤S150中,将组合像素标签矩阵作为像素标签矩阵进行连通域编号处理。
最后,如图3所示,在步骤S150,对像素标签矩阵进行连通域编号处理。
例如,在一个示例中,首先初始化连通域编号计数值V,例如,将连通域编号计数值V初始化为2。然后,使用掩膜矩阵依次遍历像素标签矩阵,并获取由掩模矩阵在像素标签矩阵中依次限定的待编号矩阵,基于待编号矩阵以及连通域编号计数值,对像素标签矩阵中的每个像素标签进行连通域编号处理,以得到更新后像素标签矩阵。需要注意的是,掩膜矩阵的大小设置应当遵循:由掩模矩阵在像素标签矩阵中依次限定的待编号矩阵有且仅有一个连通域,例如,可以选择2*2或3*3的矩阵作为掩膜矩阵。
图6A为根据公开至少一实施例提供的连通域编号处理的示例流程图。例如,如图6A所示,步骤S150可以包括步骤S1501至S1503。
在步骤S1501,在遍历像素标签矩阵的过程中,对于每个被选择像素标签,以被选择像素标签为起点,根据掩膜矩阵,获取掩膜矩阵与被选择像素标签对应的待编号矩阵。
在步骤S1502,基于连通域编号计数值对待编号矩阵进行编号处理,以得到待编号矩阵中每个像素点对应的连通域编号。
在步骤S1503,将像素标签矩阵中对应于待编号矩阵的每个像素点的像素标签更新为每个像素点对应的连通域编号,以得到更新后像素标签矩阵,将像素标签矩阵更新为更新后像素标签矩阵,继续执行遍历。
例如,当像素标签的值为S,对应于具有第一值(例如为0)的像素点;当像素标签的值为S+1,对应于独立且具有第二值(例如为1)的像素点;当像素标签的值为S+2,对应于连通且具有第二值的像素点。例如,S为自然数,且连通域编号计数值的初始值为S+2。例如S为0,从而与例如像素标签(0、1和2)对应,当然也可以根据像素标签的取值范围(例如上述R的取值)而相应变化,本公开的实施例对此不作限制。
例如,首先根据步骤S1501,将掩膜矩阵以第一步长在像素标签矩阵中滑动遍历,对于每个被选择像素标签,以被选择像素标签为起点,获取由掩膜矩阵与被选择像素标签对应的待编号矩阵。
接着,在步骤S1502,获取待编号矩阵中的像素标签最大值,若像素标签最大值不等于S且小于或等于连通域编号计数值的初始值,将连通域编号计数值V加1,并将待编号矩阵中的像素标签不是S的像素点的像素标签更新为连通域编号计数值V的当前值,以得到待编号矩阵中每个像素点对应的连通域编号;若像素标签最大值大于连通域编号计数值的初始值,将待编号矩阵中的像素标签不是S的像素点的像素标签更新为像素标签最大值,以得到待编号矩阵中每个像素点对应的连通域编号。
此外,若像素标签最大值等于S,则表明待编号矩阵中每个像素点的像素值均为第一值(即0),无需判断连通性,则可以直接跳过。
接着,在步骤S1503,将像素标签矩阵中的对应于待编号矩阵的像素点的像素标签更新为步骤S1502获得的对应的连通域编号,以得到更新后像素标签矩阵,并将像素标签矩阵更新为更新后像素标签矩阵,继续执行步骤S1501,将掩膜矩阵滑动第一步长获得一个新的待编号矩阵继续处理,直到遍历完成整个像素标签矩阵。
此外,根据任务需求和类型,可以将已完成像素标签矩阵遍历的更新后像素标签矩阵中像素标签不是S的像素点的像素标签减去连通域编号计数值V的初始值,以得到更新后像素标签矩阵,该更新后像素标签矩阵为区域连通标记图像。
图6B为根据公开至少一实施例提供的初始图像示意图。初始图像尺寸为6*6,也即每行有6个像素,每列有6个像素。例如,对初始图像采用四连通判断方式,图中共存在3个连通域,分别如图中三个黑色粗框所示,也即图中的阴影部分。
对图6B中的初始图像执行步骤S120至步骤S140后得到的像素标签矩阵如图6C所示。由于该初始图像采用四连通标记连通区域,因此初始图像中对应于具有像素值为“0”的像素点的像素标签为0,独立且具有像素值为“1”的像素点的像素标签为1,对应于连通且具有像素值为“1”的像素点的像素标签为2。
对图6C的像素标签矩阵执行步骤S150得到的区域连通标记图像。其中,对应于具有像素值为0的像素点的像素标签S为0,连通域编号计数值V初始化为2,并且掩膜矩阵例如设置为2*2(如图中6C的虚线框所示),掩膜矩阵的大小设置以保证每个掩膜矩阵限定的待编号矩阵中有且仅有一个连通域。
图6C示出了使用掩膜矩阵遍历像素标签矩阵的过程中的第一步,此时左上角(即第1行第1列)的像素标签被选择,以该左上角被选择像素标签为起点,获取掩膜矩阵与被选择像素标签对应的待编号矩阵,该待编号矩阵为像素标签矩阵中第1、2行以及第1、2列共四个像素标签所构成的子矩阵。对于该待编号矩阵,首先获取待编号矩阵中的像素标签最大值,即1,此时像素标签最大值不是S(这里为0)且小于连通域编号计数值的初始值(即2),那么将连通域编号计数值V加1,也即此时V=3;将待编号矩阵中的像素标签不是S的像素点的像素标签更新为连通域编号计数值V的当前值,也即将待编号矩阵中第二行、第二列的像素标签更新为3,以得到待编号矩阵中每个像素点对应的连通域编号。
图6D示出了使用掩膜矩阵遍历像素标签矩阵的过程中的第二步,此时像素标签矩阵中第1行第2列的像素标签被选择,以该被选择像素标签为起点,获取掩膜矩阵与被选择像素标签对应的待编号矩阵,且此时像素标签矩阵中第2行第2列的像素标签的值已经在上述步骤中被修改为3。对于该待编号矩阵,首先获取待编号矩阵中的像素标签最大值,即3,此时像素标签最大值大于连通域编号计数值的初始值(即2),将待编号矩阵中的像素标签不是S的像素点的像素标签更新为像素标签最大值(即3),也即将像素标签矩阵中第2行第2列以及第2行第3列的两个像素标签都更新为3,以得到待编号矩阵中每个像素点对应的连通域编号。
图6E示出了使用掩膜矩阵遍历像素标签矩阵的过程中的第三步,此时第1行第3列的像素标签被选择,以该被选择像素标签为起点,获取掩膜矩阵与被选择像素标签对应的待编号矩阵,且此时像素标签矩阵中第2行第3列的像素标签的值已经在上述步骤中被修改为3。对于该待编号矩阵,首先获取待编号矩阵中的像素标签最大值,即3,此时像素标签最大值大于连通域编号计数值的初始值(即2),将待编号矩阵中的像素标签不是S的像素点的像素标签更新为像素标签最大值(即3),也即将像素标签矩阵中第2行第3列以及第2行第4列的两个像素标签更新为3,以得到待编号矩阵中每个像素点对应的连通域编号。
图6F示出了使用掩膜矩阵遍历像素标签矩阵的过程中的后续步骤,此时第1行第5列的像素标签被选择,以该被选择像素标签为起点,获取掩膜矩阵与被选择像素标签对应的待编号矩阵,且此时待编号矩阵中第2行第4列的像素标签的值已经在前面的步骤中被修改为3。对于该待编号矩阵,首先获取待编号矩阵中的像素标签最大值,即0,等于S,因此无需处理,可以直接跳过该步骤。
由此,执行步骤S150得到的区域连通标记图像中的三个连通域分别具有连通域编号3、4及5,如图6G所示。根据实际使用需求,可以将连通域编号减去连通域编号计数值V的初始值2,以得到最终的连通域编号,也即1、2及3,如图6H所示。
上述实施例描述的连通域编号处理方法,无需存储等价对查找表,也无需比较两个像素点的像素标签大小,同时也无需建立和存储等价对查找表,还可以通过多个初始图像的并行处理实现图像连通区域标记结果的并行输出,提高图像连通区域标记的速率,降低处理延迟。
下面以图7为例具体说明本公开提供的基于忆阻器阵列的图像连通区域标记方法的一优选实施例。
如图7所示,该实施例的方法中,在获取了二值化的待处理图像之后,进行图像区域划分,得到n个区域,即n个初始图像;然后,对于每个区域进行边缘像素点扩展以得到对应的扩展图像,对于每个区域对应的扩展图像逐列采用忆阻器阵列进行处理以得到像素标签矩阵;然后,将所得到的n个像素标签矩阵组合得到与最初的待处理图像对应的组合像素标签矩阵;基于该组合像素标签矩阵来生成连通域编号。
以下为以待处理图像采用八连通判断方式为例对图7的一个具体示例进行说明。需要说明的是,该优选实施例包括但不限于采用八连通等判断方式,也可以采用四连通、M连通等方式实施,本公开的优选实施例对此不作具体限制。此外,需要理解的是,连通方式和连通域检测方向数量的设置、图像区域划分方法、忆阻器阵列电导分布以及计算单组的像素点个数并无直接对应关系,可以根据实际需求进行调整、设置,本公开对此不作具体限制。
首先,如图7所示,执行步骤S110中的图像区域划分,也即根据忆阻器阵列规模对待处理图像进行区域划分,以得到多个初始图像。如前所述,该区域划分可以根据所采用的忆阻器阵列的大小来选择。
接着,如图7所示,对每一个初始图像按照步骤S120执行边缘像素点扩展,以得到每个初始图像对应的扩展图像。
在进行像素标签处理前,还需设置忆阻器阵列中每个忆阻器的电导值分布。例如,如前所述,每行忆阻器单元中,设置5个忆阻器单元的忆阻器具有第一电导状态(例如低阻态),除这5个忆阻器单元之外的忆阻器单元的忆阻器均具有第二电导状态(例如高阻态),且每列忆阻器单元中仅有一个忆阻器单元的忆阻器具有第一电导状态。
接着,如图7所示,对每一个扩展图像中的初始图像部分执行列扫描,将每列中被选择的像素点以及其左侧像素点、左上侧像素点、上侧像素点以及右上侧像素点作为一个计算单元组,执行步骤S130,将每个计算单元组逐列分别并行输入忆阻器阵列,并将每个计算单元组对应的输出电流信号经ADC量化后得到每列中每个被选择的像素点的像素标签,像素标签处理方法可以按照前述实施例提供的像素标签处理方法实现,在此不作赘述。
接着,如图7所示,判断当前列是否为最后一列,若不是,则继续对扩展图像中的初始图像部分执行列扫描,若已到达最后一列,则停止扫描。
接着,如图7所示,执行步骤S140,将初始图像的所有像素点的像素标签,根据所有像素点在初始图像中的位置进行排列,以得到像素标签矩阵,并基于像素标签矩阵,根据步骤S110中的图像区域划分方式,将多个像素标签矩阵组合得到组合像素标签矩阵。
最后,如图7所示,执行步骤S150,对步骤S140得到的组合像素标签矩阵进行连通域编号处理,完成图像连通区域标记的全部过程。
本公开至少一实施例还提供一种电子装置,图8A为本公开至少一实施例提供的一种电子装置的示意性框图。
如图8A所示,电子装置800包括至少一个忆阻器阵列801以及控制器802,忆阻器阵列801被配置为执行像素标签处理,控制器802被配置为执行步骤S110至S150。例如,忆阻器阵列801和控制器802可以通过系统总线互相通信。
例如,忆阻器阵列801可以如图5A所示,忆阻器阵列包括阵列排布的多个忆阻器单元,例如,忆阻器阵列包括M行N列。例如,每个忆阻器单元包括忆阻器,每个忆阻器包括第一端和第二端,且该忆阻器能被设置为第一电导状态和第二电导状态,第一电导状态不同于第二电导状态。例如,每个忆阻器单元还包括开关元件,开关元件包括控制端、第一极和第二极,忆阻器的第一端与开关元件的第一极电连接。例如,忆阻器阵列还包括M条字线、M条源线和N条位线,M条字线分别与M行对应,且每条字线与一行忆阻器单元的各个开关元件的控制端电连接,M条源线分别与M行对应,且每条源线与一行忆阻器单元的各个开关元件的第二极电连接,N条位线分别于N列对应,且每条位线与一列忆阻器单元的各个忆阻器的第二端电连接。
若忆阻器阵列的行数M大于或等于至少两个初始图像的行数之和,则选择该忆阻器阵列并行地对至少两个初始图像进行像素标签处理;若忆阻器阵列的行数M大于或等于初始图像的行数,则可以选择设置多个忆阻器阵列,且选择该多个忆阻器阵列分别对多个初始图像进行像素标签处理,或者多个忆阻器阵列并行对多个初始图像进行像素标签处理。
例如,控制器可以包括处理电路和存储器,该存储器用于非瞬时性地存储计算机可读指令,并且该存储器还可以存储处理所需的初始数据以及处理产生的数据(包括中间数据或最终数据),例如,控制器执行存储器上所存储的程序而实现图像连通区域标记方法的实现方式与前述图像连通区域标记方法的实施例部分所提及的实现方式相同,这里也不再赘述。
例如,如图8B所示,处理电路可以包括连通域编号电路,用于对步骤S140中生成的像素标签矩阵进行连通域编号处理。
例如,如图8B所示,连通域编号电路包括像素标签最大值计算模块、比较电路以及计数器。例如,像素标签最大值模块用于计算,在遍历像素标签矩阵的过程中,由掩模矩阵在像素标签矩阵中依次限定的待编号矩阵中的像素标签最大值。例如,比较电路包括对像素标签最大值和预设像素标签值进行比较的电路。例如,计数器被配置为记录连通域编号计数值,根据比较电路的比较结果以及连通域编号计数值,输出像素标签矩阵中每个像素标签对应的连通域编号。
例如,如图8A所示,电子装置800还可以进一步包括源线驱动电路、字线驱动电路以及位线驱动电路。例如,源线驱动电路被配置为对忆阻器阵列的M条源线的输出信号进行检测。例如,字线驱动电路被配置为对忆阻器阵列的M条字线分别施加控制信号。例如,位线驱动电路被配置为对忆阻器阵列的N条位线施加输入信号。
此外,电子装置800还可包括输入接口和输出接口(未示出),忆阻器阵列801、控制器802、输入接口和输出接口之间也可以通过系统总线互相通信。例如,输入接口被配置为从外部计算机设备、从用户等处接收指令以控制忆阻器阵列和控制器的运行等。例如,通过输入接口和输出接口与忆阻器阵列801、控制器802通信的外部设备可被包括在提供任何类型的用户可与之交互的用户界面的环境中。用户界面类型的示例包括图形用户界面、自然用户界面等。例如,图形用户界面可接受来自用户采用诸如键盘、鼠标、遥控器等之类的输入设备的输入,以及在诸如显示器之类的输出设备上提供输出。此外,自然用户界面可使得用户能够以无需受到诸如键盘、鼠标、遥控器等之类的输入设备强加的约束的方式来与并行加速装置交互。相对地,自然用户界面可依赖于语音识别、触摸和指示笔识别、屏幕上和屏幕附近的手势识别、空中手势、头部和眼睛跟踪、语音和语音、视觉、触摸、手势、以及机器智能等。
例如,电子装置800的运行过程可以参考上述基于忆阻器阵列的图像连通区域标记方法的实施例中的相关描述,重复之处在此不再赘述。
对于本公开,还有以下几点需要说明:
(1)本公开实施例附图只涉及到与本公开实施例涉及到的结构,其他结构可参考通常设计。
(2)为了清晰起见,在用于描述本发明的实施例的附图中,层或结构的厚度和尺寸被放大。可以理解,当诸如层、膜、区域或基板之类的元件被称作位于另一元件“上”或“下”时,该元件可以“直接”位于另一元件“上”或“下”,或者可以存在中间元件。
(3)在不冲突的情况下,本公开的实施例及实施例中的特征可以相互组合以得到新的实施例。
以上所述仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,本公开的保护范围应以所述权利要求的保护范围为准。

Claims (29)

1.一种基于忆阻器阵列实现图像连通区域标记的方法,包括:
获取初始图像,其中,所述初始图像包括阵列排布的多个像素点,且所述初始图像为二值化图像,每个像素点的值为彼此不同的第一值和第二值中之一,所述方法用于标记具有所述第二值的一个或多个像素点构成的一个或多个连通域;
在所述初始图像的行扩展方向和列扩展方向上进行边缘像素点扩展以得到扩展图像,其中,所述扩展图像包括与所述初始图像对应的初始图像部分,以及包括从所述边缘像素点扩展得到、且与所述初始图像部分在所述行扩展方向和所述列扩展方向相邻的扩展图像部分;
依次遍历所述扩展图像中的所述初始图像部分的所有像素点,且在遍历所述初始图像部分的过程中,将每个被选择的像素点及与所述被选择的像素点在多个连通域检测方向上满足相邻关系的多个像素点作为一个计算单元组,分别输入所述忆阻器阵列中进行乘和运算以进行像素标签处理,以得到所述被选择的像素点的像素标签,其中,所述忆阻器阵列配置为可进行矩阵乘法运算,所述像素标签的不同取值对应于所述被选择的像素点的不同的连通特征;
将所述初始图像的所有像素点的像素标签,根据所述所有像素点在所述初始图像中的位置进行排列,以得到像素标签矩阵;
对所述像素标签矩阵进行连通域编号处理。
2.根据权利要求1所述的方法,其中,
所述获取初始图像包括:
对待处理图像进行区域划分,以得到至少一个所述初始图像;
在所述初始图像的行扩展方向和列扩展方向上进行边缘像素点扩展以得到扩展图像,包括:
响应于所述初始图像的边缘包括所述待处理图像在所述行扩展方向和所述列扩展方向中任一方向上的边缘像素点,对于每一个边缘像素点,增加一个与所述边缘像素点相邻且具有所述第一值的像素点作为第一扩展像素点;
响应于所述初始图像的边缘包括所述待处理图像在所述任一方向上的非边缘像素点,增加在所述待处理图像中与所述非边缘像素点在所述任一方向上直接相邻的像素点作为第二扩展像素点,
其中,所述扩展图像部分包括所述第一扩展像素点和/或所述第二扩展像素点。
3.根据权利要求2所述的方法,其中,在所述初始图像的行扩展方向和列扩展方向上进行边缘像素点扩展以得到扩展图像,还包括:
响应于所述初始图像的边缘包括所述待处理图像在所述行扩展方向和所述列扩展方向中任一方向上的边缘像素点,对于与所述行扩展方向和所述列扩展方向都相交的对角方向上的第一边缘像素点,增加一个与所述第一边缘像素点在所述对角方向上相邻且具有所述第一值的像素点作为所述第一扩展像素点,
响应于所述初始图像的边缘不包括所述待处理图像在所述任一方向上的边缘像素点,对于所述初始图像中与所述行扩展方向和所述列扩展方向都相交的对角方向上的第二边缘像素点,增加在所述待处理图像中与所述第二边缘像素点在所述对角方向上相邻的像素点作为所述第二扩展像素点。
4.根据权利要求2所述的方法,其中,所述对待处理图像进行区域划分,以得到至少一个所述初始图像,包括:
基于所述忆阻器阵列的行数和列数以及所述计算单元组的像素点个数,对所述待处理图像进行区域划分,以得到至少一个所述初始图像。
5.根据权利要求1所述的方法,其中,所述行扩展方向为向左方向,所述列扩展方向为向上方向。
6.根据权利要求1所述的方法,其中,所述忆阻器阵列包括阵列排布的多个忆阻器单元,所述忆阻器阵列包括M行N列,
每个忆阻器单元包括忆阻器,所述忆阻器能被设置为第一电导状态和第二电导状态,所述第一电导状态不同于所述第二电导状态,
所述计算单元组中像素点的个数为q,
在进行所述像素标签处理之前,所述方法还包括:
设置所述忆阻器阵列中忆阻器电导值的分布,以使得,在每行忆阻器单元中,q个忆阻器单元的忆阻器具有所述第一电导状态,除所述q个忆阻器单元之外的忆阻器单元的忆阻器具有所述第二电导状态,且使得每列忆阻器单元中仅有一个忆阻器单元的忆阻器具有所述第一电导状态,
其中,M、N和q为正整数,q小于或等于N。
7.根据权利要求6所述的方法,其中,在每行忆阻器单元中,所述q个忆阻器单元彼此连续相邻排布。
8.根据权利要求6所述的方法,其中,所述忆阻器阵列还包括M条字线、M条源线和N条位线,
每个忆阻器单元还包括开关元件,所述忆阻器包括第一端和第二端,
所述开关元件包括控制端、第一极和第二极,所述忆阻器的第一端与所述开关元件的第一极电连接,
所述M条字线分别与所述M行对应,且每条字线与一行忆阻器单元的各个开关元件的控制端电连接,
所述M条源线分别与所述M行对应,且每条源线与一行忆阻器单元的各个开关元件的第二极电连接,
所述N条位线分别与所述N列对应,且每条位线与一列忆阻器单元的各个忆阻器的第二端电连接,
其中,将每个被选择的像素点及与所述被选择的像素点在所述多个连通域检测方向上满足相邻关系的多个像素点作为一个计算单元组,分别输入所述忆阻器阵列中进行乘和运算以进行像素标签处理,以得到所述被选择的像素点的像素标签,包括:
基于所述被选择的像素点的值将控制信号施加至被选择的一条字线,其中,所述第一值对应的控制信号用于截止所述开关元件,所述第二值对应的控制信号用于开启所述开关元件;
基于所述被选择的像素点的计算单元组中各个像素点的值,将输入信号分别施加至所述被选择的一条字线所对应行中的q个具有所述第一电导状态的忆阻器的忆阻器单元的位线,其中,所述输入信号包括对应于所述第一值的第一输入信号和对应于所述第二值的第二输入信号,所述第一输入信号和所述第二输入信号的电平不同;
检测与所述被选择的一条字线所对应行中的源线上的输出电流信号,并基于所述输出电流信号得到所述被选择的像素点的像素标签。
9.根据权利要求8所述的方法,其中,对于所述初始图像中在同一列中位于不同行上的多个像素点,分别选择所述忆阻器阵列的不同行进行处理。
10.根据权利要求9所述的方法,其中,对于所述初始图像中在同一列中位于不同行上彼此相邻的多个像素点,依序分别选择所述忆阻器阵列的彼此相邻的不同行进行处理。
11.根据权利要求1所述的方法,其中,
所述像素标签处理,包括:
从所述扩展图像中初始图像部分的第一列起,将每列中的每个被选择的像素点及与所述被选择的像素点在所述多个连通域检测方向上满足相邻关系的多个像素点作为一个计算单元组,逐列并行地将所述每个计算单元组分别输入所述忆阻器阵列中进行乘和运算以进行像素标签处理,以得到每个所述被选择的像素点的像素标签。
12.根据权利要求2所述的方法,其中,所述待处理图像包括多个所述初始图像,所述忆阻器阵列的行数M大于或等于至少两个所述初始图像的行数之和,所述像素标签处理包括:
使用所述忆阻器阵列并行地对至少两个所述初始图像进行像素标签处理。
13.根据权利要求2所述的方法,其中,所述待处理图像包括多个所述初始图像,所述忆阻器阵列的行数M大于或等于所述初始图像的行数,所述像素标签处理包括:
使用所述忆阻器阵列分别对所述多个初始图像进行像素标签处理,或者
使用多个所述忆阻器阵列并行对所述多个初始图像进行像素标签处理。
14.根据权利要求1所述的方法,其中,所述多个连通域检测方向为两个连通域检测方向,所述计算单元组中像素点的个数为3;或者,
所述多个连通域检测方向为四个连通域检测方向,所述计算单元组中像素点的个数为5。
15.根据权利要求14所述的方法,其中,所述两个连通域检测方向分别为向左方向和向上方向;
所述四个连通域检测方向分别为向左方向、向左上方向、向上方向、向右上方向。
16.根据权利要求8所述的方法,其中,响应于所述电流信号对应于所述被选择的像素点的值为所述第一值,使得所述被选择的像素点的像素标签为R;
响应于所述电流信号对应于所述被选择的像素点对应的所述计算单元组仅有所述被选择的像素点为所述第二值,使得所述被选择的像素点的像素标签为R+1;
响应于所述电流信号对应于所述被选择的像素点对应的所述计算单元包括至少两个具有所述第二值的像素点,使得所述被选择的像素点的像素标签为R+2;
其中,R为自然数。
17.根据权利要求16所述的方法,其中,对应于所述被选择的像素点的值为所述第一值的电流信号为电流强度为0,
对应于所述被选择的像素点对应的所述计算单元组仅有所述被选择的像素点为所述第二值的电流信号为单位电流,
对应于所述被选择的像素点对应的所述计算单元包括至少两个具有所述第二值的像素点的电流信号为大于或等于2的整数倍的所述单位电流。
18.根据权利要求2所述的方法,对所述像素标签矩阵进行连通域编号处理前,所述方法还包括:
基于由至少一个所述初始图像所得到的像素标签矩阵,以及根据所述区域划分的方式,得到所述待处理图像的组合像素标签矩阵,
对所述像素标签矩阵进行连通域编号处理包括:
对所述组合像素标签矩阵进行连通域编号处理。
19.根据权利要求1-18任一项所述的方法,所述对所述像素标签矩阵进行连通域编号处理,包括:
初始化连通域编号计数值;
使用掩膜矩阵依次遍历所述像素标签矩阵,并获取由所述掩模矩阵在所述像素标签矩阵中依次限定的待编号矩阵,基于所述待编号矩阵以及所述连通域编号计数值,对所述像素标签矩阵中的每个像素标签进行连通域编号处理,以得到更新后像素标签矩阵;
其中,所述掩膜矩阵使得所述待编号矩阵中仅存在一个连通域。
20.根据权利要求19所述的方法,其中,所述像素标签的值为S,对应于具有所述第一值的像素点,所述像素标签的值为S+1,对应于独立且具有所述第二值的像素点,所述像素标签的值为S+2,对应于连通且具有所述第二值的像素点,S为自然数,且所述连通域编号计数值的初始值为S+2,
使用掩膜矩阵依次遍历所述像素标签矩阵,并获取由所述掩模矩阵在所述像素标签矩阵中依次限定的待编号矩阵,基于所述待编号矩阵以及所述连通域编号计数值,对所述像素标签矩阵中的每个像素标签进行连通域编号处理,以得到更新后像素标签矩阵,包括:
在遍历所述像素标签矩阵的过程中,对于每个被选择像素标签,以所述被选择像素标签为起点,根据所述掩膜矩阵,获取所述掩膜矩阵与所述被选择像素标签对应的待编号矩阵;
基于所述连通域编号计数值对所述待编号矩阵进行编号处理,以得到所述待编号矩阵中每个像素点对应的连通域编号;
将所述像素标签矩阵中对应于所述待编号矩阵的每个像素点的像素标签更新为所述每个像素点对应的连通域编号,以得到更新后像素标签矩阵,将所述像素标签矩阵更新为更新后像素标签矩阵,继续执行遍历。
21.根据权利要求20所述的方法,其中,基于所述连通域编号计数值对所述待编号矩阵进行编号处理,以得到所述待编号矩阵中每个像素点对应的连通域编号,包括:
获取所述待编号矩阵中的像素标签最大值;
响应于所述像素标签最大值不等于S且小于或等于连通域编号计数值的初始值,将所述连通域编号计数值加1,并将所述待编号矩阵中的像素标签不是S的像素点的像素标签更新为所述连通域编号计数值的当前值,以得到待编号矩阵中每个像素点对应的连通域编号;
响应于所述像素标签最大值大于连通域编号计数值的初始值,将所述待编号矩阵中的像素标签不是S的像素点的像素标签更新为所述像素标签最大值,以得到待编号矩阵中每个像素点对应的连通域编号。
22.根据权利要求20所述的方法,其中,基于所述待编号矩阵以及所述连通域编号计数值,对所述像素标签矩阵中的每个像素标签进行连通域编号处理,以得到更新后像素标签矩阵,包括:
将已完成像素标签矩阵遍历的所述更新后像素标签矩阵中像素标签不是S的像素点的像素标签减去所述连通域编号计数值的初始值,以得到更新后像素标签矩阵,所述更新后像素标签矩阵为区域连通标记图像。
23.一种电子装置,包括:
忆阻器阵列;
控制器,其中,所述控制器配置为执行以下步骤:
获取初始图像,其中,所述初始图像包括阵列排布的多个像素点,且所述初始图像为二值化图像,每个像素点的值为彼此不同的第一值和第二值中之一,所述电子装置用于标记具有所述第二值的一个或多个像素点构成的一个或多个连通域;
在所述初始图像的行扩展方向和列扩展方向上进行边缘像素点扩展以得到扩展图像,其中,所述扩展图像包括与所述初始图像对应的初始图像部分,以及包括从所述边缘像素点扩展得到的,且与所述初始图像部分在所述行扩展方向和所述列扩展方向相邻的扩展图像部分;
依次遍历所述扩展图像中的所述初始图像部分的所有像素点,且在遍历所述初始图像部分的过程中,将每个被选择的像素点及与所述被选择的像素点在多个连通域检测方向上满足相邻关系的多个像素点作为一个计算单元组,分别输入所述忆阻器阵列中进行乘和运算以进行像素标签处理,以得到所述被选择的像素点的像素标签,其中,所述忆阻器阵列配置为可进行矩阵乘法运算,所述像素标签的不同取值对应于所述被选择的像素点的不同的连通特征;
将所述初始图像的所有像素点的像素标签,根据所述所有像素点在所述初始图像中的位置进行排列,以得到像素标签矩阵;
对所述像素标签矩阵进行连通域编号处理。
24.根据权利要求23所述的电子装置,其中,所述忆阻器阵列包括阵列排布的多个忆阻器单元,所述忆阻器阵列包括M行N列;
每个忆阻器单元包括忆阻器,所述忆阻器包括第一端和第二端,所述忆阻器能被设置为第一电导状态和第二电导状态,所述第一电导状态不同于所述第二电导状态;
每个忆阻器单元还包括开关元件,所述开关元件包括控制端、第一极和第二极,所述忆阻器的第一端与所述开关元件的第一极电连接;
所述忆阻器阵列还包括M条字线、M条源线和N条位线,
所述M条字线分别与所述M行对应,且每条字线与一行忆阻器单元的各个开关元件的控制端电连接,
所述M条源线分别与所述M行对应,且每条源线与一行忆阻器单元的各个开关元件的第二极电连接,
所述N条位线分别于所述N列对应,且每条位线与一列忆阻器单元的各个忆阻器的第二端电连接。
25.根据权利要求24所述的电子装置,其中,所述忆阻器阵列的行数M大于或等于至少两个所述初始图像的行数之和,所述忆阻器阵列被配置为并行地对至少两个所述初始图像进行像素标签处理。
26.根据权利要求24所述的电子装置,其中,所述忆阻器阵列的行数M大于或等于所述初始图像的行数,所述忆阻器阵列被配置为串行对多个所述初始图像进行像素标签处理,或者多个所述忆阻器阵列被配置为并行对多个所述初始图像进行像素标签处理。
27.根据权利要求23所述的电子装置,其中,所述控制器包括连通域编号电路,
所述连通域编号电路配置为对所述像素标签矩阵进行连通域编号处理。
28.根据权利要求27所述的电子装置,其中,所述连通域编号电路包括像素标签最大值计算模块、比较电路以及计数器;
所述像素标签最大值模块用于计算,在遍历像素标签矩阵的过程中,由掩模矩阵在所述像素标签矩阵中依次限定的待编号矩阵中的像素标签最大值;
所述比较电路包括对所述像素标签最大值和预设像素标签值进行比较的电路;
所述计数器被配置为记录连通域编号计数值,根据所述比较电路的比较结果以及所述连通域编号计数值,输出所述像素标签矩阵中每个所述像素标签对应的连通域编号。
29.根据权利要求23-28任一项所述的电子装置,还包括:
源线驱动电路,配置为对所述忆阻器阵列的M条源线的输出信号进行检测;
字线驱动电路,配置为对所述忆阻器阵列的M条字线分别施加控制信号;
位线驱动电路,配置为对所述忆阻器阵列的N条位线施加输入信号。
CN202010857355.8A 2020-08-24 2020-08-24 基于忆阻器阵列实现图像连通区域标记的方法、电子装置 Active CN111950569B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010857355.8A CN111950569B (zh) 2020-08-24 2020-08-24 基于忆阻器阵列实现图像连通区域标记的方法、电子装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010857355.8A CN111950569B (zh) 2020-08-24 2020-08-24 基于忆阻器阵列实现图像连通区域标记的方法、电子装置

Publications (2)

Publication Number Publication Date
CN111950569A CN111950569A (zh) 2020-11-17
CN111950569B true CN111950569B (zh) 2024-05-03

Family

ID=73359316

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010857355.8A Active CN111950569B (zh) 2020-08-24 2020-08-24 基于忆阻器阵列实现图像连通区域标记的方法、电子装置

Country Status (1)

Country Link
CN (1) CN111950569B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112700810B (zh) * 2020-12-22 2023-06-30 电子科技大学 一种融合忆阻器的cmos感存算一体电路结构
CN114693641A (zh) * 2022-03-30 2022-07-01 沈阳东软智能医疗科技研究院有限公司 血管图像提取方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107545584A (zh) * 2017-04-28 2018-01-05 上海联影医疗科技有限公司 医学图像中定位感兴趣区域的方法、装置及其系统
CN107833238A (zh) * 2017-11-14 2018-03-23 京东方科技集团股份有限公司 最大连通域标记方法、目标跟踪方法、增强现实/虚拟现实装置
CN108964652A (zh) * 2018-06-13 2018-12-07 宁波大学 一种纳米cmos电路常开缺陷的快速容错方法
CN109448068A (zh) * 2018-10-16 2019-03-08 西南大学 一种基于忆阻器交叉阵列的图像重构系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107545584A (zh) * 2017-04-28 2018-01-05 上海联影医疗科技有限公司 医学图像中定位感兴趣区域的方法、装置及其系统
CN107833238A (zh) * 2017-11-14 2018-03-23 京东方科技集团股份有限公司 最大连通域标记方法、目标跟踪方法、增强现实/虚拟现实装置
CN108964652A (zh) * 2018-06-13 2018-12-07 宁波大学 一种纳米cmos电路常开缺陷的快速容错方法
CN109448068A (zh) * 2018-10-16 2019-03-08 西南大学 一种基于忆阻器交叉阵列的图像重构系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
NEURAL SPIKE DETECTION BASED ON 1T1R MEMRISTOR;Zhengwu Liu等;《IEEE》;20200630;全文 *
基于新型忆阻器的存内计算;林钰登;《微纳电子与智能制造》;20190630;第1卷(第2期);全文 *

Also Published As

Publication number Publication date
CN111950569A (zh) 2020-11-17

Similar Documents

Publication Publication Date Title
CN110807519B (zh) 基于忆阻器的神经网络的并行加速方法及处理器、装置
TWI661428B (zh) 神經形態權重單元及其形成的方法以及人工神經網路
CN111950569B (zh) 基于忆阻器阵列实现图像连通区域标记的方法、电子装置
EP3438889A1 (en) Natural language processing using a cnn based integrated circuit
CN112150343B (zh) 基于忆阻器阵列实现二值形态学操作的方法及电子装置
CN112818812A (zh) 图像中表格信息的识别方法、装置、电子设备及存储介质
CN112528976B (zh) 文本检测模型的生成方法和文本检测方法
CN112434618B (zh) 基于稀疏前景先验的视频目标检测方法、存储介质及设备
CN106599900A (zh) 一种识别图像中的字符串的方法和装置
CN112580507B (zh) 一种基于图像矩矫正的深度学习文本字符检测方法
US10325147B1 (en) Motion recognition via a two-dimensional symbol having multiple ideograms contained therein
CN111709428B (zh) 图像中关键点位置的识别方法、装置、电子设备及介质
CN112215855B (zh) 基于忆阻器阵列实现图像连通区域判断的方法及电子装置
CN113643175B (zh) 数据处理方法及电子装置
Pramanik et al. Segmentation‐based recognition system for handwritten Bangla and Devanagari words using conventional classification and transfer learning
CN111104883A (zh) 作业答案提取方法、装置、设备及计算机可读存储介质
Qi et al. Unstructured road detection via combining the model‐based and feature‐based methods
US20210124974A1 (en) Method, apparatus, and device for processing image and storage medium
CN112257708A (zh) 一种字符级文本检测方法、装置、计算机设备及存储介质
Feng et al. A handwritten ancient text detector based on improved feature pyramid network
US20230110558A1 (en) Systems and methods for detecting objects
CN111832390A (zh) 一种手写古文字检测方法
Chen et al. Script-level word sample augmentation for few-shot handwritten text recognition
CN111860492A (zh) 一种车牌倾斜矫正方法、装置、计算机设备和存储介质
CN111783780A (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
GR01 Patent grant
GR01 Patent grant