CN117058255A - 一种色卡识别方法及装置、电子设备和存储介质 - Google Patents
一种色卡识别方法及装置、电子设备和存储介质 Download PDFInfo
- Publication number
- CN117058255A CN117058255A CN202311040900.4A CN202311040900A CN117058255A CN 117058255 A CN117058255 A CN 117058255A CN 202311040900 A CN202311040900 A CN 202311040900A CN 117058255 A CN117058255 A CN 117058255A
- Authority
- CN
- China
- Prior art keywords
- color
- determining
- blocks
- initial
- rectangular frame
- 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.)
- Granted
Links
- 238000000034 method Methods 0.000 title claims abstract description 56
- 238000004590 computer program Methods 0.000 claims description 13
- 238000001514 detection method Methods 0.000 claims description 8
- 238000012935 Averaging Methods 0.000 claims description 6
- 238000012545 processing Methods 0.000 description 31
- 238000010586 diagram Methods 0.000 description 21
- 238000005516 engineering process Methods 0.000 description 12
- 238000004891 communication Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 9
- 230000008569 process Effects 0.000 description 9
- 238000012937 correction Methods 0.000 description 8
- 239000003086 colorant Substances 0.000 description 6
- 238000004422 calculation algorithm Methods 0.000 description 5
- 239000011159 matrix material Substances 0.000 description 5
- 238000010295 mobile communication Methods 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 230000005540 biological transmission Effects 0.000 description 4
- 238000003702 image correction Methods 0.000 description 4
- 230000010365 information processing Effects 0.000 description 4
- 230000005236 sound signal Effects 0.000 description 4
- 238000003491 array Methods 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 2
- 238000013528 artificial neural network Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 239000000835 fiber Substances 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 230000001902 propagating effect Effects 0.000 description 2
- 230000004044 response Effects 0.000 description 2
- 230000011218 segmentation Effects 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- RYGMFSIKBFXOCR-UHFFFAOYSA-N Copper Chemical compound [Cu] RYGMFSIKBFXOCR-UHFFFAOYSA-N 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000013475 authorization Methods 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000013527 convolutional neural network Methods 0.000 description 1
- 229910052802 copper Inorganic materials 0.000 description 1
- 239000010949 copper Substances 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000002708 enhancing effect Effects 0.000 description 1
- 238000002474 experimental method Methods 0.000 description 1
- 238000003384 imaging method Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003447 ipsilateral effect Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000002441 reversible effect Effects 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/90—Determination of colour characteristics
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T7/00—Image analysis
- G06T7/10—Segmentation; Edge detection
- G06T7/136—Segmentation; Edge detection involving thresholding
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/10—Image acquisition modality
- G06T2207/10024—Color image
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T2207/00—Indexing scheme for image analysis or image enhancement
- G06T2207/20—Special algorithmic details
- G06T2207/20084—Artificial neural networks [ANN]
-
- 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
- Y02P—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN THE PRODUCTION OR PROCESSING OF GOODS
- Y02P90/00—Enabling technologies with a potential contribution to greenhouse gas [GHG] emissions mitigation
- Y02P90/30—Computing systems specially adapted for manufacturing
Landscapes
- Engineering & Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本公开涉及一种色卡识别方法及装置、电子设备和存储介质,所述方法包括:对色卡图像进行色块识别,得到识别出的初始色块,所述初始色块为色卡图像的色块中的至少部分色块;确定所述初始色块的平均尺寸;根据所述初始色块,确定色卡图像中最***的色块构成的矩形框;基于所述矩形框确定相邻色块之间的间距;以所述矩形框为基准,根据所述平均尺寸以及相邻色块之间的间距,在所述色卡图像中确定所有色块的位置。本公开实施例能够准确地识别出色卡中的所有色块,效率较高。
Description
技术领域
本公开涉及计算机技术领域,尤其涉及一种色卡识别方法及装置、电子设备和存储介质。
背景技术
图像信号处理(ISP,Image Signal Processing)算法能够从图像传感器捕获的原始数据中提取高质量数字图像。通过对原始数据进行去噪、增强和优化,来得到清晰、准确的图像。ISP算法在各种与图像采集相关的应用场景中广泛使用,如智能手机、相机、安防监控、医疗图像处理和自动驾驶等。
颜色校正矩阵模块(Color Correction Matrix,CCM)是ISP处理流程中非常重要的一个模块。由于图像传感器对三原色的响应跟人眼有较大的差别,以及像素之间存在串扰(Crosstalk)现象,所以图像传感器输出的图像数据往往在经过CCM模块后才能还原出符合人眼感知的真实色彩。
在通过CCM模块进行颜色校正的过程中,需要通过色卡来计算CCM值,色卡是一种预先设定的包括多个色块的卡片,每个色块具有预设的颜色,各色块的颜色不同,通过多个色块(常用的为24个色块)来尽可能地覆盖一个宽泛的颜色范围,用于对色彩进行选择、比对、沟通,在一定范围内实现色彩标准的统一。
在该过程中,通常会用图像传感器拍摄色卡,然后需要准确地定位出图像中色块的位置,然后再进行后续的CCM值计算,然而,现有方式往往是通过人工标定的方式来定位色块的位置,效率较低。
发明内容
本公开提出了一种色卡识别技术方案。
根据本公开的一方面,提供了一种色卡识别方法,包括:
对色卡图像进行色块识别,得到识别出的初始色块,所述初始色块为色卡图像的色块中的至少部分色块;
确定所述初始色块的平均尺寸;
根据所述初始色块,确定色卡图像中最***的色块构成的矩形框;
基于所述矩形框确定相邻色块之间的间距;
以所述矩形框为基准,根据所述平均尺寸以及相邻色块之间的间距,在所述色卡图像中确定所有色块的位置。
在一种可能的实现方式中,所述对色卡图像进行色块识别,得到识别出的初始色块,包括:
将所述色卡图像进行灰度化处理,并对灰度值进行二值化,得到二值化图像;
对所述二值化图像进行黑白反转,得到反转图像;
在所述反转图像上进行白色轮廓检测,将检测到的白色轮廓的位置作为初始色块的位置。
在一种可能的实现方式中,确定所述初始色块的平均尺寸,包括:
将检测到的初始色块的高度相加,并除以初始色块的数目,得到初始色块的平均高度;
将检测到的初始色块的宽度相加,并除以初始色块的数目,得到初始色块的平均宽度。
在一种可能的实现方式中,确定所述初始色块的平均尺寸,包括:
剔除初始色块中尺寸最大的色块,对剩余的初始色块的尺寸求平均值,得到初始色块的平均尺寸。
在一种可能的实现方式中,根据所述初始色块,确定色卡图像中最***的色块构成的矩形框,包括:
确定各初始色块的中心点坐标;
利用所有中心点坐标中水平方向的最小值和最大值,以及垂直方向的最小值和最大值,构建矩形框。
在一种可能的实现方式中,所述基于所述矩形框确定相邻色块之间的间距,包括:
确定所述矩形框的在水平方向上的长度,并除以预设的水平方向的色块数目,得到相邻色块之间的水平间距;
确定所述矩形框的在垂直方向上的长度,并除以预设的垂直方向的色块数目,得到相邻色块之间的垂直间距。
在一种可能的实现方式中,以所述矩形框为基准,根据所述平均尺寸以及相邻色块之间的间距,在所述色卡图像中确定所有色块的位置,包括:
确定经过目标顶点的水平框线的斜率,以及竖直框线的斜率;
将所述目标顶点作为一个色块的中心点位置,并以所述目标顶点为起始点,按照相邻色块之间的间距,沿所述水平框线的斜率以及竖直框线的斜率,在所述矩形框中依次排列多个色块,得到所述色卡图像中所有色块的位置。
在一种可能的实现方式中,以所述矩形框为基准,根据所述平均尺寸以及相邻色块之间的间距,在所述色卡图像中确定所有色块的位置,包括:
确定所述矩形框的四条框线的中点;
连接两条竖直框线的中点,得到水平中线,并连接两条水平框线的中点,得到竖直中线;
确定所述水平中线的斜率,以及竖直中线的斜率;
按照所述色卡中色卡的排布规则,以所述水平中线和竖直中线的交点作为色块排布的中心点,按照相邻色块之间的间距,沿所述水平框线的斜率以及竖直框线的斜率,在所述矩形框中依次排列多个色块,得到所述色卡图像中所有色块的位置。
在一种可能的实现方式中,所述根据所述初始色块,确定色卡图像中最***的色块构成的矩形框后,所述方法还包括:
确定所述矩形框的横纵比例;
所述确定相邻色块之间的间距,包括:
在所述横纵比例符合预设比例范围的情况下,确定相邻色块之间的间距,所述预设比例范围为预先设置的矩形框的横纵比例的合理范围。
根据本公开的一方面,提供了一种色卡识别装置,包括:
初始识别模块,用于对色卡图像进行色块识别,得到识别出的初始色块,所述初始色块为色卡图像的色块中的至少部分色块;
平均尺寸确定模块,用于确定所述初始色块的平均尺寸;
矩形框确定模块,用于根据所述初始色块,确定色卡图像中最***的色块构成的矩形框;
间距确定模块,用于基于所述矩形框确定相邻色块之间的间距;
位置确定模块,用于以所述矩形框为基准,根据所述平均尺寸以及相邻色块之间的间距,在所述色卡图像中确定所有色块的位置。
在一种可能的实现方式中,所述初始识别模块,用于将所述色卡图像进行灰度化处理,并对灰度值进行二值化,得到二值化图像;对所述二值化图像进行黑白反转,得到反转图像;在所述反转图像上进行白色轮廓检测,将检测到的白色轮廓的位置作为初始色块的位置。
在一种可能的实现方式中,所述平均尺寸确定模块,用于:
将检测到的初始色块的高度相加,并除以初始色块的数目,得到初始色块的平均高度;
将检测到的初始色块的宽度相加,并除以初始色块的数目,得到初始色块的平均宽度。
在一种可能的实现方式中,所述平均尺寸确定模块,用于:
剔除初始色块中尺寸最大的色块,对剩余的初始色块的尺寸求平均值,得到初始色块的平均尺寸。
在一种可能的实现方式中,所述矩形框确定模块,用于:
确定各初始色块的中心点坐标;
利用所有中心点坐标中水平方向的最小值和最大值,以及垂直方向的最小值和最大值,构建矩形框。
在一种可能的实现方式中,所述间距确定模块,用于:
确定所述矩形框的在水平方向上的长度,并除以预设的水平方向的色块数目,得到相邻色块之间的水平间距;
确定所述矩形框的在垂直方向上的长度,并除以预设的垂直方向的色块数目,得到相邻色块之间的垂直间距。
在一种可能的实现方式中,所述位置确定模块,用于:
确定经过目标顶点的水平框线的斜率,以及竖直框线的斜率;
将所述目标顶点作为一个色块的中心点位置,并以所述目标顶点为起始点,按照相邻色块之间的间距,沿所述水平框线的斜率以及竖直框线的斜率,在所述矩形框中依次排列多个色块,得到所述色卡图像中所有色块的位置。
在一种可能的实现方式中,所述位置确定模块,用于:
确定所述矩形框的四条框线的中点;
连接两条竖直框线的中点,得到水平中线,并连接两条水平框线的中点,得到竖直中线;
确定所述水平中线的斜率,以及竖直中线的斜率;
按照所述色卡中色卡的排布规则,以所述水平中线和竖直中线的交点作为色块排布的中心点,按照相邻色块之间的间距,沿所述水平框线的斜率以及竖直框线的斜率,在所述矩形框中依次排列多个色块,得到所述色卡图像中所有色块的位置。
在一种可能的实现方式中,所述装置还包括:
比例确定模块,用于确定所述矩形框的横纵比例;
所述间距确定模块,用于在所述横纵比例符合预设比例范围的情况下,确定相邻色块之间的间距,所述预设比例范围为预先设置的矩形框的横纵比例的合理范围。
根据本公开的一方面,提供了一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
根据本公开的一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。
在本公开实施例中,通过对色卡图像进行色块识别,得到识别出的初始色块;然后确定所述初始色块的平均尺寸,并根据所述初始色块,确定色卡图像中最***的色块构成的矩形框;然后基于所述矩形框确定相邻色块之间的间距;以所述矩形框为基准,根据所述平均尺寸以及相邻色块之间的间距,在所述色卡图像中确定所有色块的位置。由此,通过利用预先识别出的初始色块,能够准确地得到色块的平均尺寸和间距,然后确定出色块最***的矩形框,能够准确地确定出所有色块所在的区域,再按照色块的平均尺寸和间距在矩形框中排列色块,最终得到所有色块的位置,准确地识别出其它未被初步识别出来的色块,且无需人工点击,效率较高。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,而非限制本公开。根据下面参考附图对示例性实施例的详细说明,本公开的其它特征及方面将变得清楚。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,这些附图示出了符合本公开的实施例,并与说明书一起用于说明本公开的技术方案。
图1示出CCM校正前后图像传感器输出的色卡图像的示意图。
图2示出根据本公开实施例的色块识别方法的流程图。
图3示出根据本公开实施例的初始色块的位置示意图。
图4示出根据本公开实施例的矩形框的位置示意图。
图5示出根据本公开实施例的灰度处理并反正后的色卡图像的示意图。
图6示出根据本公开实施例得到的色卡位置的示意图。
图7示出根据本公开实施例的色块识别装置的框图。
图8示出根据本公开实施例的一种电子设备的框图。
具体实施方式
以下将参考附图详细说明本公开的各种示例性实施例、特征和方面。附图中相同的附图标记表示功能相同或相似的元件。尽管在附图中示出了实施例的各种方面,但是除非特别指出,不必按比例绘制附图。
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
本文中术语“和/或”,仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。另外,本文中术语“至少一种”表示多种中的任意一种或多种中的至少两种的任意组合,例如,包括A、B、C中的至少一种,可以表示包括从A、B和C构成的集合中选择的任意一个或多个元素。
另外,为了更好地说明本公开,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本公开同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本公开的主旨。
CCM图像校正的作用是校正图像传感器的光谱响应,通过校正后得到图像更符合人眼感知的真实色彩,图1示出CCM校正前后图像传感器输出的色卡图像的示意图。其中,图1中的(a)部分图像为CCM校正前输出的色卡图像,图1中的(b)部分图像为CCM校正后输出的色卡图像。
CCM是一个3×3的矩阵,在计算某个图像传感器的CCM矩阵值时,通常将该图像传感器对着色卡进行拍摄,然后将色卡图像中各色块的R、G、B平均值去和X-Rite标准各色块的R、G、B目标值进行多项式拟合,从而得到最优化的CCM矩阵系数。
在CCM值的计算过程中,需要先准确定位出色卡图像中色块的位置才能计算出每个色块的R、G、B平均值。在相关技术中,可以通过手动用鼠标点击的方式指定各个色块的位置,但这种方法效率太低,还容易出错。此外,在一些利用图像识别算法识别色块的方法,往往也需要人工指定一些特殊色块,无法全自动识别色块,效率较低,且识别精度不高,容易出现识别不到的情况。
图2示出根据本公开实施例的色块识别方法的流程图,如图2所示,所述方法包括:
在步骤S11中,对色卡图像进行色块识别,得到识别出的初始色块,所述初始色块为色卡图像的色块中的至少部分色块;
色卡图像是图像传感器对色卡进行拍摄到的图像,例如,图1中所示的两个图像,色卡图像中会包含色卡中的所有的色块,为了便于后续的色块识别,在通过图像传感器拍摄色卡时,可以使图像传感器正对色卡进行拍摄,以使得多个色块在色卡图像中的尺寸差异较小,便于后续基于色块在图像中的尺寸进行色块识别。
在该步骤中,对色块的识别仅为初步的识别,具体识别的方式可以有多种,在一个示例中,可以根据色块的像素值与背景像素值的差异,通过阈值分割的方式,对色块进行识别;在另一个示例中,还可以根据色块的边缘的灰度值的变化,通过基于边缘检测的分割方式,对色块进行识别;在另一个示例中,还可以基于深度学习算法,通过对图像特征进行编码,利用神经网络来对色块进行识别,该神经网络例如可以是卷积神经网络、残差神经网络等等。
需要说明的是,色卡中的色块的颜色往往有多种,以便覆盖较宽的颜色范围,使得图像传感器普适于多种颜色,由于色块的颜色较多,因此,单纯基于颜色的图像识别,可能无法将所有色块都识别出来,即识别出的初始色块可能是色卡图像的色块中的部分色块。例如,在标准的24色卡中,图像右下角的色块为黑色,且色块的背景颜色往往也是黑色,导致该色块无法被识别出。
图3示出根据本公开实施例的初始色块的位置示意图,如图3所示,识别出的初始色块仅为所有色块中的部分色块(由白框所包围的色块),尤其对于右下角纯黑色的色块而言,其与背景颜色完全相同,导致基于颜色的色块识别算法很难将其识别出来。
在步骤S12中,确定所述初始色块的平均尺寸;
初始色块在被识别出来后,即可得到其在色卡图像中的位置和尺寸,这里的位置可以是色卡中心点的位置,尺寸可以是色卡的长和宽。这里的平均尺寸可以是初始色块在色卡图像中的尺寸,具体可以通过对初始色块取平均值得到。
在一种可能的实现方式中,确定所述初始色块的平均尺寸,包括:将检测到的初始色块的高度相加,并除以初始色块的数目,得到初始色块的平均高度;将检测到的初始色块的宽度相加,并除以初始色块的数目,得到初始色块的平均宽度。由此,通过确定初始色块的平均尺寸,以便利用该平均尺寸,准确地识别出其它未被初步识别出来的色块。
作为该步骤的另一种可能的实现方式,确定所述初始色块的平均尺寸,包括:剔除初始色块中尺寸最大的色块,对剩余的初始色块的尺寸求平均值,得到初始色块的平均尺寸。在该实现方式中,考虑到由于各种原因,采集到的色卡图像中会存在畸变,导致图像边缘的色块被拉长,即色块尺寸明显变大,而图像中的其它色块的尺寸则差距较小,由此,通过剔除初始色块中尺寸最大的色块,能够将图像边缘由于镜头畸变导致的尺寸不一致的色块排除掉,避免影响无图像畸变区域的大部分色块的识别。并且,由于图像边缘的初始色块尺寸较大,因此,利用较小的平均尺寸,仍然能够准确地识别出图像边缘的初始色块中的局部区域,由于CCM图像校正中无需使用单个色块中的全部区域,因此,仅利用识别出的局部区域进行CCM图像校正并不影响图像校正的准确性。显然,通过剔除初始色块中尺寸最大的色块,减少了对初始色块平均尺寸的影响,提高了后续基于初始色块平均尺寸进行色块定位的准确度。
在步骤S13中,根据所述初始色块,确定色卡图像中最***的色块构成的矩形框;
由于初步的色块识别可能只识别出了部分的色块,如图3所示,在这些初始色块中,最***的四条边线均至少有一个色块被识别出,且通过大量实验验证,在绝大多数情况下,通过初步的色块识别,最***的四条边线均至少有一个色块被识别出。因此,可以利用初始色块的坐标值,来确定色卡图像中最***的色块构成的矩形框。
这里的矩形框可以是色卡图像中最***的色块的中心点的连线构成的矩形框,或者,也可以是色块同一侧的顶点的连线构成的矩形框。因此,可以通过确定初始色块的中心点来确定矩形框,或者通过确定初始色块的顶点来确定矩形框。具体可参见本公开提供的可能的实现方式,此处不做赘述。
图4示出根据本公开实施例的矩形框的位置示意图。该矩形框为色卡图像中最***的色块的中心点的连线构成的矩形框。
在步骤S14中,基于所述矩形框确定相邻色块之间的间距;
相邻色块之间的间距可以是相邻色块的中心点之间的距离,或者也可以是相邻色块的同侧顶点之间的距离,例如,相邻色块左下角顶点的距离。
在一种可能的实现方式中,基于所述矩形框确定相邻色块之间的间距,包括:确定所述矩形框的在水平方向上的长度,并除以预设的水平方向的色块数目,得到相邻色块之间的水平间距;确定所述矩形框的在垂直方向上的长度,并除以预设的垂直方向的色块数目,得到相邻色块之间的垂直间距。
在确定出矩形框后,即可确定出矩形框在水平方向和垂直方向上的长度,具体可以通过矩形框顶点的坐标来确定,此处不做赘述。而色卡中色块的排布规则是已知的,示例性的,如图3所示,在24色卡中,水平方向上有6个色块,垂直方向上有4个色块。那么,相邻色块之间的间距,即可以通过矩形框在某个方向上的长度除以该方向上色块的数量来确定。
示例性的,针对24色块而言,可以确定矩形框在水平方向上的长度,然后除以水平方向上的色块数目6,即可得到相邻色块之间的水平间距;然后确定矩形框的在垂直方向上的长度,然后除以垂直方向的色块数目4,得到相邻色块之间的垂直间距。其中,水平方向和垂直方向上的色块数目均为预先设定的。
在本公开实施例中,通过确定所述矩形框的在水平方向上的长度,并除以预设的水平方向的色块数目,得到相邻色块之间的水平间距;确定所述矩形框的在垂直方向上的长度,并除以预设的垂直方向的色块数目,得到相邻色块之间的垂直间距。由此,能够利用初步识别出的部分色块(初始色块),基于预先设定的水平方向和垂直方向上的色块数目,准确地确定出色卡图像中相邻色块之间的间距。
在步骤S15中,以所述矩形框为基准,根据所述平均尺寸以及相邻色块之间的间距,在所述色卡图像中确定所有色块的位置。
由于矩形框确定了所有色块在色卡中所在的区域,且色块在色卡中是按照等间距规则排列的,因此,在确定出了色块之间的间距和平均尺寸之后,可以以矩形框为基准,按照相邻色块之间的间距,在矩形框中等间距地排列平均尺寸的色块,即可得到色卡图像中所有色卡的位置。
在本公开实施例中,通过对色卡图像进行色块识别,得到识别出的初始色块;然后确定所述初始色块的平均尺寸,并根据所述初始色块,确定色卡图像中最***的色块构成的矩形框;然后基于所述矩形框确定相邻色块之间的间距;以所述矩形框为基准,根据所述平均尺寸以及相邻色块之间的间距,在所述色卡图像中确定所有色块的位置。由此,通过利用预先识别出的初始色块,能够准确地得到色块的平均尺寸和间距,然后确定出色块最***的矩形框,能够准确地确定出所有色块所在的区域,再按照色块的平均尺寸和间距在矩形框中排列色块,最终得到所有色块的位置,准确地识别出其它未被初步识别出来的色块,且无需人工点击,效率较高。
在一种可能的实现方式中,所述对色卡图像进行色块识别,得到识别出的初始色块,包括:将所述色卡图像进行灰度化处理,并对灰度值进行二值化,得到二值化图像;对所述二值化图像进行黑白反转,得到反转图像;在所述反转图像上进行白色轮廓检测,将检测到的白色轮廓的位置作为初始色块的位置。
图5示出根据本公开实施例的灰度处理并反正后的色卡图像的示意图。将所述色卡图像进行灰度化处理,以去除RGB颜色信息,得到色卡图像中各像素点的灰度值,然后对灰度值进行二值化,在一个示例中,二值化可以是将灰度值大于某个阈值的像素点的值置为1,将灰度值小于某个阈值的像素点的值置为0,即可得到二值化图像,二值化图像能够简化后续的图像处理流程,降低图像处理过程中消耗的处理资源。
然后对所述二值化图像进行黑白反转,得到反转图像,该反转的过程即为将0置为1,将1置为0,得到反转图像,这样,得到的反转图像上,色块的边缘区域呈白色,那么,在反转图像上进行白色轮廓检测,即可检测到初始色块的位置。
在本公开实施例中,通过将所述色卡图像进行灰度化处理,并对灰度值进行二值化,得到二值化图像;对所述二值化图像进行黑白反转,得到反转图像;在所述反转图像上进行白色轮廓检测,将检测到的白色轮廓的位置作为初始色块的位置。由于经过灰度化、二值化以及黑白反转操作后,反转图像上的白色像素点的数量较少,因此,在反转图像上进行白色轮廓的检测,能够减少运算量,提高色卡识别的效率。
在一种可能的实现方式中,根据所述初始色块,确定色卡图像中最***的色块构成的矩形框,包括:确定各初始色块的中心点坐标;利用所有中心点坐标中水平方向的最小值和最大值,以及垂直方向的最小值和最大值,构建矩形框。
初始色块的中心点坐标可以基于检测到的初始色块的位置来确定,接上例,初始色块的初始位置可以是白色轮廓线的位置,具体可以是多个白色像素点的坐标值,基于这些坐标值,取水平和垂直方向上的平均值,即可得到初始色块的中心点。
在确定各初始色块的中心点坐标后,所有中心点坐标中水平方向的最小值,即可作为矩形框左侧两个顶点的x值;所有中心点坐标中水平方向的最大值,即可作为矩形框右侧两个顶点的x值;所有中心点坐标中垂直方向的最小值,即可作为矩形框下部两个顶点的y值;所有中心点坐标中垂直方向的最大值,即可作为矩形框上部两个顶点的y值。在确定了4个顶点的x值和y值后,将矩形框的4个顶点连接,即可得到矩形框。
在本公开实施例中,通过确定各初始色块的中心点坐标,利用所有中心点坐标中水平方向的最小值和最大值,以及垂直方向的最小值和最大值,构建矩形框。由此,能够准确地确定出色卡图像中所有色块所在的范围,便于后续在该范围中排布色块以便准确地确定色块的位置。
在一种可能的实现方式中,以所述矩形框为基准,根据所述平均尺寸以及相邻色块之间的间距,在所述色卡图像中确定所有色块的位置,包括:确定经过目标顶点的水平框线的斜率,以及竖直框线的斜率;将所述目标顶点作为一个色块的中心点位置,并以所述目标顶点为起始点,按照相邻色块之间的间距,沿所述水平框线的斜率以及竖直框线的斜率,在所述矩形框中依次排列多个色块,得到所述色卡图像中所有色块的位置。
水平框线的斜率可以是任意一条水平框线的斜率,或者也可以是两条水平框线的斜率的平均值。以水平框线为矩形框下部的水平框线为例,其斜率k1可具体表示为:
k1=( y1–y2)/( x1–x2) (1)
其中,y1表示左下角顶点的y值,y2表示右下角顶点的y值,x1表示左下角顶点的x值,x2表示右下角顶点的x值。
竖直框线的斜率可以是任意一条竖直框线的斜率,或者也可以是两条竖直框线的斜率的平均值。以竖直框线为矩形框右侧的竖直框线为例,其斜率k2可具体表示为:
k2=( y3–y4)/( x3–x4) (2)
其中,y3表示右上角顶点的y值,y4表示右下角顶点的y值,x3表示右上角顶点的x值,x4表示右下角顶点的x值。
目标顶点可以是矩形框的任意一个顶点,以目标顶点为右下角顶点为例,可以在目标顶点的右下角顶点作为最右下角的色块的中心点位置,然后按照相邻色块之间的间距,沿水平框线的斜率以及竖直框线的斜率,在所述矩形框中依次排列多个色块,得到所述色卡图像中所有色块的位置。
以图4所示的24色卡为例,上述确定色卡图像中所有色块的位置的具体数学过程可以实现为:以右下角为原点建立直角坐标系,从右向左为横轴正方向,从下向上为纵轴正方向;用相邻色块之间的水平间距乘以水平框线的斜率,即可得到与右下角色块相邻的水平方向上的第一个色块的中心点的纵坐标值,其横坐标值为相邻色块之间的水平间距;用两倍的相邻色块之间的水平间距乘以水平框线的斜率,即可得到与右下角相邻的水平方向上的第二个色块的中心点的纵坐标值,其横坐标值为两倍的相邻色块之间的水平间距,以此类推,即可得到最下排水平方向上的六个色块的中心点的坐标。
用相邻色块之间的垂直间距乘以竖直框线的斜率,即可得到与右下角色块相邻的垂直方向上的第一个色块的中心点的横坐标值,其纵坐标值为相邻色块之间的垂直间距;用两倍的相邻色块之间的垂直间距乘以竖直框线的斜率,即可得到与右下角相邻的垂直方向上的第二个色块的中心点的横坐标值,其纵坐标值为相邻色块之间的垂直间距的两倍;以此类推,即可得到最右侧垂直方向上的四个色块的中心点的坐标。然后,分别以最右侧的三个色块的中心点为原点,分别乘以相邻色块之间的间距,依次得到剩余的15个色块的中心点的坐标,具体过程不做赘述。
在确定了各色块的中心点坐标后,由于色块的平均尺寸是已知的,因此,以各中心点确定各色块的最***边缘的像素点的坐标,即可得到个色块的位置。图6示出根据本公开实施例得到的色卡位置的示意图,其中,黑框所框出的24个位置即为识别出的24个色卡的位置,利用黑框中的颜色,进行颜色校正即可。虽然黑框中的位置并非整个色块的最***的边框,但识别出的色块部分足以进行后续的颜色校正。
在一种可能的实现方式中,以所述矩形框为基准,根据所述平均尺寸以及相邻色块之间的间距,在所述色卡图像中确定所有色块的位置,包括:确定所述矩形框的四条框线的中点;连接两条竖直框线的中点,得到水平中线,并连接两条水平框线的中点,得到竖直中线;确定所述水平中线的斜率,以及竖直中线的斜率;按照所述色卡中色卡的排布规则,以所述水平中线和竖直中线的交点作为色块排布的中心点,按照相邻色块之间的间距,沿所述水平框线的斜率以及竖直框线的斜率,在所述矩形框中依次排列多个色块,得到所述色卡图像中所有色块的位置。
矩形框的四条框线的中点,可以依据矩形框的顶点来确定,然后连接两条竖直框线的中点(即左右两个中点)得到水平中线,连接两条水平框线的中点(即上下两个中点)得到竖直中线。
竖直中线和水平中线的交点即为矩形框的中点,以该中点为原点建立直角坐标系,从左向右为横轴正方向,从下向上为纵轴正方向;用相邻色块之间的水平间距的一半乘以水平中线的斜率,即可得到原点右上方的第一个色块的中心点的纵坐标值,其横坐标值为相邻色块之间的水平间距的一半,该具体过程与前述实现方式类似,对于其它色块的位置确定过程,此处不做赘述。
在该实现方式中,通过确定矩形框的中心点,以中心点为起点确定各个色块的位置,减少了以边缘为起点可能会由于图像畸变导致定位不准确的情况,提高了确定的色块位置的准确性。
在一种可能的实现方式中,所述根据所述初始色块,确定色卡图像中最***的色块构成的矩形框后,所述方法还包括:确定所述矩形框的横纵比例;所述确定相邻色块之间的间距,包括:在所述横纵比例符合预设比例范围的情况下,确定相邻色块之间的间距,所述预设比例范围为预先设置的矩形框的横纵比例的合理范围。
矩形框的横纵比例,可以是任意一条水平框线与任意一条竖直框线的比例,或者,也可以是竖直中线与水平中线的比例。
在某些极端情况下,色卡最***某一列或某一行色块没有在初步识别时识别到任一初始色块,为了提高构建的矩形框的准确性,可以预先设置矩形框的横纵比例的合理范围,超出该合理范围,则认为可能是色卡最***某一列或某一行色块没有在初步识别时识别到任一初始色块。具体的预设比例范围可以根据实际应用确定,本公开对此不作限定。
因此,通过在所述横纵比例符合预设比例范围的情况下,确定相邻色块之间的间距,可以提高最终得到的色卡图像中所有色块位置的准确性。
在一种可能的实现方式中,所述色块识别方法可通过终端设备和服务器等电子设备执行,终端设备可以为用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字助理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等,所述方法可以通过处理器调用存储器中存储的计算机可读指令的方式来实现。
此外,本公开还提供了一种色块识别装置、电子设备、计算机可读存储介质、程序,上述均可用来实现本公开提供的任一种色块识别方法,相应技术方案和描述和参见方法部分的相应记载,不再赘述。
图7示出根据本公开实施例的一种色块识别装置的框图,如图7所示,所述装置70包括:
初始识别模块71,用于对色卡图像进行色块识别,得到识别出的初始色块,所述初始色块为色卡图像的色块中的至少部分色块;
平均尺寸确定模块72,用于确定所述初始色块的平均尺寸;
矩形框确定模块73,用于根据所述初始色块,确定色卡图像中最***的色块构成的矩形框;
间距确定模块74,用于基于所述矩形框确定相邻色块之间的间距;
位置确定模块75,用于以所述矩形框为基准,根据所述平均尺寸以及相邻色块之间的间距,在所述色卡图像中确定所有色块的位置。
在一种可能的实现方式中,所述初始识别模块,用于将所述色卡图像进行灰度化处理,并对灰度值进行二值化,得到二值化图像;对所述二值化图像进行黑白反转,得到反转图像;在所述反转图像上进行白色轮廓检测,将检测到的白色轮廓的位置作为初始色块的位置。
在一种可能的实现方式中,所述平均尺寸确定模块,用于:
将检测到的初始色块的高度相加,并除以初始色块的数目,得到初始色块的平均高度;
将检测到的初始色块的宽度相加,并除以初始色块的数目,得到初始色块的平均宽度。
在一种可能的实现方式中,所述平均尺寸确定模块,用于:
剔除初始色块中尺寸最大的色块,对剩余的初始色块的尺寸求平均值,得到初始色块的平均尺寸。
在一种可能的实现方式中,所述矩形框确定模块,用于:
确定各初始色块的中心点坐标;
利用所有中心点坐标中水平方向的最小值和最大值,以及垂直方向的最小值和最大值,构建矩形框。
在一种可能的实现方式中,所述间距确定模块,用于:
确定所述矩形框的在水平方向上的长度,并除以预设的水平方向的色块数目,得到相邻色块之间的水平间距;
确定所述矩形框的在垂直方向上的长度,并除以预设的垂直方向的色块数目,得到相邻色块之间的垂直间距。
在一种可能的实现方式中,所述位置确定模块,用于:
确定经过目标顶点的水平框线的斜率,以及竖直框线的斜率;
将所述目标顶点作为一个色块的中心点位置,并以所述目标顶点为起始点,按照相邻色块之间的间距,沿所述水平框线的斜率以及竖直框线的斜率,在所述矩形框中依次排列多个色块,得到所述色卡图像中所有色块的位置。
在一种可能的实现方式中,所述位置确定模块,用于:
确定所述矩形框的四条框线的中点;
连接两条竖直框线的中点,得到水平中线,并连接两条水平框线的中点,得到竖直中线;
确定所述水平中线的斜率,以及竖直中线的斜率;
按照所述色卡中色卡的排布规则,以所述水平中线和竖直中线的交点作为色块排布的中心点,按照相邻色块之间的间距,沿所述水平框线的斜率以及竖直框线的斜率,在所述矩形框中依次排列多个色块,得到所述色卡图像中所有色块的位置。
在一种可能的实现方式中,所述装置还包括:
比例确定模块,用于确定所述矩形框的横纵比例;
所述间距确定模块,用于在所述横纵比例符合预设比例范围的情况下,确定相邻色块之间的间距,所述预设比例范围为预先设置的矩形框的横纵比例的合理范围。
在一些实施例中,本公开实施例提供的装置具有的功能或包含的模块可以用于执行上文方法实施例描述的方法,其具体实现可以参照上文方法实施例的描述,为了简洁,这里不再赘述。
本公开实施例还提出一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令被处理器执行时实现上述方法。计算机可读存储介质可以是易失性或非易失性计算机可读存储介质。
本公开实施例还提出一种电子设备,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为调用所述存储器存储的指令,以执行上述方法。
本公开实施例还提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当所述计算机可读代码在电子设备的处理器中运行时,所述电子设备中的处理器执行上述方法。
电子设备可以被提供为终端、服务器或其它形态的设备。
图8示出根据本公开实施例的一种电子设备800的框图。例如,电子设备800可以是用户设备(User Equipment,UE)、移动设备、用户终端、终端、蜂窝电话、无绳电话、个人数字处理(Personal Digital Assistant,PDA)、手持设备、计算设备、车载设备、可穿戴设备等终端设备。
参照图8,电子设备800可以包括以下一个或多个组件:处理组件802,存储器804,电源组件806,多媒体组件808,音频组件810,输入/输出(I/O)接口812,传感器组件814,以及通信组件816。
处理组件802通常控制电子设备800的整体操作,诸如与显示,电话呼叫,数据通信,相机操作和记录操作相关联的操作。处理组件802可以包括一个或多个处理器820来执行指令,以完成上述的方法的全部或部分步骤。此外,处理组件802可以包括一个或多个模块,便于处理组件802和其他组件之间的交互。例如,处理组件802可以包括多媒体模块,以方便多媒体组件808和处理组件802之间的交互。
存储器804被配置为存储各种类型的数据以支持在电子设备800的操作。这些数据的示例包括用于在电子设备800上操作的任何应用程序或方法的指令,联系人数据,电话簿数据,消息,图片,视频等。存储器804可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(SRAM),电可擦除可编程只读存储器(EEPROM),可擦除可编程只读存储器(EPROM),可编程只读存储器(PROM),只读存储器(ROM),磁存储器,快闪存储器,磁盘或光盘。
电源组件806为电子设备800的各种组件提供电力。电源组件806可以包括电源管理***,一个或多个电源,及其他与为电子设备800生成、管理和分配电力相关联的组件。
多媒体组件808包括在所述电子设备800和用户之间的提供一个输出接口的屏幕。在一些实施例中,屏幕可以包括液晶显示器(LCD)和触摸面板(TP)。如果屏幕包括触摸面板,屏幕可以被实现为触摸屏,以接收来自用户的输入信号。触摸面板包括一个或多个触摸传感器以感测触摸、滑动和触摸面板上的手势。所述触摸传感器可以不仅感测触摸或滑动动作的边界,而且还检测与所述触摸或滑动操作相关的持续时间和压力。在一些实施例中,多媒体组件808包括一个前置摄像头和/或后置摄像头。当电子设备800处于操作模式,如拍摄模式或视频模式时,前置摄像头和/或后置摄像头可以接收外部的多媒体数据。每个前置摄像头和后置摄像头可以是一个固定的光学透镜***或具有焦距和光学变焦能力。
音频组件810被配置为输出和/或输入音频信号。例如,音频组件810包括一个麦克风(MIC),当电子设备800处于操作模式,如呼叫模式、记录模式和语音识别模式时,麦克风被配置为接收外部音频信号。所接收的音频信号可以被进一步存储在存储器804或经由通信组件816发送。在一些实施例中,音频组件810还包括一个扬声器,用于输出音频信号。
I/O接口812为处理组件802和***接口模块之间提供接口,上述***接口模块可以是键盘,点击轮,按钮等。这些按钮可包括但不限于:主页按钮、音量按钮、启动按钮和锁定按钮。
传感器组件814包括一个或多个传感器,用于为电子设备800提供各个方面的状态评估。例如,传感器组件814可以检测到电子设备800的打开/关闭状态,组件的相对定位,例如所述组件为电子设备800的显示器和小键盘,传感器组件814还可以检测电子设备800或电子设备800一个组件的位置改变,用户与电子设备800接触的存在或不存在,电子设备800方位或加速/减速和电子设备800的温度变化。传感器组件814可以包括接近传感器,被配置用来在没有任何的物理接触时检测附近物体的存在。传感器组件814还可以包括光传感器,如互补金属氧化物半导体(CMOS)或电荷耦合装置(CCD)图像传感器,用于在成像应用中使用。在一些实施例中,该传感器组件814还可以包括加速度传感器,陀螺仪传感器,磁传感器,压力传感器或温度传感器。
通信组件816被配置为便于电子设备800和其他设备之间有线或无线方式的通信。电子设备800可以接入基于通信标准的无线网络,如无线网络(Wi-Fi)、第二代移动通信技术(2G)、第三代移动通信技术(3G)、***移动通信技术(4G)、通用移动通信技术的长期演进(LTE)、第五代移动通信技术(5G)或它们的组合。在一个示例性实施例中,通信组件816经由广播信道接收来自外部广播管理***的广播信号或广播相关信息。在一个示例性实施例中,所述通信组件816还包括近场通信(NFC)模块,以促进短程通信。例如,在NFC模块可基于射频识别(RFID)技术,红外数据协会(IrDA)技术,超宽带(UWB)技术,蓝牙(BT)技术和其他技术来实现。
在示例性实施例中,电子设备800可以被一个或多个应用专用集成电路(ASIC)、数字信号处理器(DSP)、数字信号处理设备(DSPD)、可编程逻辑器件(PLD)、现场可编程门阵列(FPGA)、控制器、微控制器、微处理器或其他电子元件实现,用于执行上述方法。
在示例性实施例中,还提供了一种非易失性计算机可读存储介质,例如包括计算机程序指令的存储器804,上述计算机程序指令可由电子设备800的处理器820执行以完成上述方法。
本公开可以是***、方法和/或计算机程序产品。计算机程序产品可以包括计算机可读存储介质,其上载有用于使处理器实现本公开的各个方面的计算机可读程序指令。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是(但不限于)电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、静态随机存取存储器(SRAM)、便携式压缩盘只读存储器(CD-ROM)、数字多功能盘(DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。这里所使用的计算机可读存储介质不被解释为瞬时信号本身,诸如无线电波或者其他自由传播的电磁波、通过波导或其他传输媒介传播的电磁波(例如,通过光纤电缆的光脉冲)、或者通过电线传输的电信号。
这里所描述的计算机可读程序指令可以从计算机可读存储介质下载到各个计算/处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本公开操作的计算机程序指令可以是汇编指令、指令集架构(ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(FPGA)或可编程逻辑阵列(PLA),该电子电路可以执行计算机可读程序指令,从而实现本公开的各个方面。
这里参照根据本公开实施例的方法、装置(***)和计算机程序产品的流程图和/或框图描述了本公开的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本公开的多个实施例的***、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或动作的专用的基于硬件的***来实现,或者可以用专用硬件与计算机指令的组合来实现。
该计算机程序产品可以具体通过硬件、软件或其结合的方式实现。在一个可选实施例中,所述计算机程序产品具体体现为计算机存储介质,在另一个可选实施例中,计算机程序产品具体体现为软件产品,例如软件开发包(Software Development Kit,SDK)等等。
上文对各个实施例的描述倾向于强调各个实施例之间的不同之处,其相同或相似之处可以互相参考,为了简洁,本文不再赘述。
本领域技术人员可以理解,在具体实施方式的上述方法中,各步骤的撰写顺序并不意味着严格的执行顺序而对实施过程构成任何限定,各步骤的具体执行顺序应当以其功能和可能的内在逻辑确定。
若本申请技术方案涉及个人信息,应用本申请技术方案的产品在处理个人信息前,已明确告知个人信息处理规则,并取得个人自主同意。若本申请技术方案涉及敏感个人信息,应用本申请技术方案的产品在处理敏感个人信息前,已取得个人单独同意,并且同时满足“明示同意”的要求。例如,在摄像头等个人信息采集装置处,设置明确显著的标识告知已进入个人信息采集范围,将会对个人信息进行采集,若个人自愿进入采集范围即视为同意对其个人信息进行采集;或者在个人信息处理的装置上,利用明显的标识/信息告知个人信息处理规则的情况下,通过弹窗信息或请个人自行上传其个人信息等方式获得个人授权;其中,个人信息处理规则可包括个人信息处理者、个人信息处理目的、处理方式以及处理的个人信息种类等信息。
以上已经描述了本公开的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。
Claims (12)
1.一种色卡识别方法,其特征在于,包括:
对色卡图像进行色块识别,得到识别出的初始色块,所述初始色块为色卡图像的色块中的至少部分色块;
确定所述初始色块的平均尺寸;
根据所述初始色块,确定色卡图像中最***的色块构成的矩形框;
基于所述矩形框确定相邻色块之间的间距;
以所述矩形框为基准,根据所述平均尺寸以及相邻色块之间的间距,在所述色卡图像中确定所有色块的位置。
2.根据权利要求1所述的方法,其特征在于,所述对色卡图像进行色块识别,得到识别出的初始色块,包括:
将所述色卡图像进行灰度化处理,并对灰度值进行二值化,得到二值化图像;
对所述二值化图像进行黑白反转,得到反转图像;
在所述反转图像上进行白色轮廓检测,将检测到的白色轮廓的位置作为初始色块的位置。
3.根据权利要求1所述的方法,其特征在于,确定所述初始色块的平均尺寸,包括:
将检测到的初始色块的高度相加,并除以初始色块的数目,得到初始色块的平均高度;
将检测到的初始色块的宽度相加,并除以初始色块的数目,得到初始色块的平均宽度。
4.根据权利要求1所述的方法,其特征在于,确定所述初始色块的平均尺寸,包括:
剔除初始色块中尺寸最大的色块,对剩余的初始色块的尺寸求平均值,得到初始色块的平均尺寸。
5.根据权利要求1所述的方法,其特征在于,根据所述初始色块,确定色卡图像中最***的色块构成的矩形框,包括:
确定各初始色块的中心点坐标;
利用所有中心点坐标中水平方向的最小值和最大值,以及垂直方向的最小值和最大值,构建矩形框。
6.根据权利要求5所述的方法,其特征在于,所述基于所述矩形框确定相邻色块之间的间距,包括:
确定所述矩形框的在水平方向上的长度,并除以预设的水平方向的色块数目,得到相邻色块之间的水平间距;
确定所述矩形框的在垂直方向上的长度,并除以预设的垂直方向的色块数目,得到相邻色块之间的垂直间距。
7.根据权利要求6所述的方法,其特征在于,以所述矩形框为基准,根据所述平均尺寸以及相邻色块之间的间距,在所述色卡图像中确定所有色块的位置,包括:
确定经过目标顶点的水平框线的斜率,以及竖直框线的斜率;
将所述目标顶点作为一个色块的中心点位置,并以所述目标顶点为起始点,按照相邻色块之间的间距,沿所述水平框线的斜率以及竖直框线的斜率,在所述矩形框中依次排列多个色块,得到所述色卡图像中所有色块的位置。
8.根据权利要求6所述的方法,其特征在于,以所述矩形框为基准,根据所述平均尺寸以及相邻色块之间的间距,在所述色卡图像中确定所有色块的位置,包括:
确定所述矩形框的四条框线的中点;
连接两条竖直框线的中点,得到水平中线,并连接两条水平框线的中点,得到竖直中线;
确定所述水平中线的斜率,以及竖直中线的斜率;
按照所述色卡中色卡的排布规则,以所述水平中线和竖直中线的交点作为色块排布的中心点,按照相邻色块之间的间距,沿所述水平框线的斜率以及竖直框线的斜率,在所述矩形框中依次排列多个色块,得到所述色卡图像中所有色块的位置。
9.根据权利要求5所述的方法,其特征在于,所述根据所述初始色块,确定色卡图像中最***的色块构成的矩形框后,所述方法还包括:
确定所述矩形框的横纵比例;
所述确定相邻色块之间的间距,包括:
在所述横纵比例符合预设比例范围的情况下,确定相邻色块之间的间距,所述预设比例范围为预先设置的矩形框的横纵比例的合理范围。
10.一种色卡识别装置,其特征在于,包括:
初始识别模块,用于对色卡图像进行色块识别,得到识别出的初始色块,所述初始色块为色卡图像的色块中的至少部分色块;
平均尺寸确定模块,用于确定所述初始色块的平均尺寸;
矩形框确定模块,用于根据所述初始色块,确定色卡图像中最***的色块构成的矩形框;
间距确定模块,用于基于所述矩形框确定相邻色块之间的间距;
位置确定模块,用于以所述矩形框为基准,根据所述平均尺寸以及相邻色块之间的间距,在所述色卡图像中确定所有色块的位置。
11.一种电子设备,其特征在于,包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器被配置为调用所述存储器存储的指令,以实现权利要求1至9中任意一项所述的***。
12.一种计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1至9中任意一项所述的***。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311040900.4A CN117058255B (zh) | 2023-08-17 | 一种色卡识别方法及装置、电子设备和存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202311040900.4A CN117058255B (zh) | 2023-08-17 | 一种色卡识别方法及装置、电子设备和存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN117058255A true CN117058255A (zh) | 2023-11-14 |
CN117058255B CN117058255B (zh) | 2024-07-09 |
Family
ID=
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081802A (zh) * | 2011-01-26 | 2011-06-01 | 北京中星微电子有限公司 | 一种基于块匹配的色卡检测方法和装置 |
US20130136347A1 (en) * | 2011-11-28 | 2013-05-30 | Peter James Wachtell | Method and system for determining the color of an object in a photo |
KR20180136354A (ko) * | 2017-06-14 | 2018-12-24 | 넷마블엔투 주식회사 | 게임 제공 시스템 및 게임 제공 방법 |
CN110533732A (zh) * | 2019-09-04 | 2019-12-03 | 厦门美图之家科技有限公司 | 图像中肤色的识别方法、装置、电子设备及存储介质 |
CN115439477A (zh) * | 2022-11-07 | 2022-12-06 | 广东欧谱曼迪科技有限公司 | 24色卡定位方法、装置、电子设备及存储介质 |
CN115761270A (zh) * | 2022-11-23 | 2023-03-07 | 上海闻泰电子科技有限公司 | 色卡的检测方法、装置、电子设备及存储介质 |
CN116385567A (zh) * | 2022-12-30 | 2023-07-04 | 上海集成电路研发中心有限公司 | 获取色卡roi坐标信息的方法、装置和介质 |
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102081802A (zh) * | 2011-01-26 | 2011-06-01 | 北京中星微电子有限公司 | 一种基于块匹配的色卡检测方法和装置 |
US20130136347A1 (en) * | 2011-11-28 | 2013-05-30 | Peter James Wachtell | Method and system for determining the color of an object in a photo |
KR20180136354A (ko) * | 2017-06-14 | 2018-12-24 | 넷마블엔투 주식회사 | 게임 제공 시스템 및 게임 제공 방법 |
CN110533732A (zh) * | 2019-09-04 | 2019-12-03 | 厦门美图之家科技有限公司 | 图像中肤色的识别方法、装置、电子设备及存储介质 |
CN115439477A (zh) * | 2022-11-07 | 2022-12-06 | 广东欧谱曼迪科技有限公司 | 24色卡定位方法、装置、电子设备及存储介质 |
CN115761270A (zh) * | 2022-11-23 | 2023-03-07 | 上海闻泰电子科技有限公司 | 色卡的检测方法、装置、电子设备及存储介质 |
CN116385567A (zh) * | 2022-12-30 | 2023-07-04 | 上海集成电路研发中心有限公司 | 获取色卡roi坐标信息的方法、装置和介质 |
Non-Patent Citations (1)
Title |
---|
党媛媛等: "基于AKAZE-FLANN算法的色卡自动提取方法研究", 《软件工程》, vol. 26, no. 7, 31 July 2023 (2023-07-31), pages 1 - 6 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109344832B (zh) | 图像处理方法及装置、电子设备和存储介质 | |
CN109859144B (zh) | 图像处理方法及装置、电子设备和存储介质 | |
US10181184B2 (en) | Method and apparatus for identifying image type | |
CN112241714B (zh) | 图像中指定区域的识别方法、装置、可读介质和电子设备 | |
CN112465843A (zh) | 图像分割方法及装置、电子设备和存储介质 | |
CN109145970B (zh) | 基于图像的问答处理方法和装置、电子设备及存储介质 | |
CN112219224B (zh) | 图像处理方法及装置、电子设备和存储介质 | |
CN111126108A (zh) | 图像检测模型的训练和图像检测方法及装置 | |
CN111080595A (zh) | 图像处理方法、装置、电子设备及计算机可读介质 | |
EP2975574A2 (en) | Method, apparatus and terminal for image retargeting | |
CN111625213B (zh) | 画面显示方法、装置和存储介质 | |
CN112967264A (zh) | 缺陷检测方法及装置、电子设备和存储介质 | |
CN107507128B (zh) | 图像处理方法及设备 | |
CN112862800B (zh) | 缺陷检测方法、装置及电子设备 | |
US9665925B2 (en) | Method and terminal device for retargeting images | |
CN107730443B (zh) | 图像处理方法、装置及用户设备 | |
CN113538310A (zh) | 图像处理方法及装置、电子设备和存储介质 | |
CN117058255B (zh) | 一种色卡识别方法及装置、电子设备和存储介质 | |
CN110047126B (zh) | 渲染图像的方法、装置、电子设备和计算机可读存储介质 | |
CN114723715B (zh) | 车辆目标检测方法、装置、设备、车辆及介质 | |
CN108270973B (zh) | 一种拍照处理方法、移动终端及计算机可读存储介质 | |
CN117058255A (zh) | 一种色卡识别方法及装置、电子设备和存储介质 | |
US10068151B2 (en) | Method, device and computer-readable medium for enhancing readability | |
CN110766028B (zh) | 像素类型确定方法及装置 | |
CN117095186B (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 |