一种基于移动终端的横条纹图像识别方法及移动终端的制作方法

文档序号:10512741阅读:368来源:国知局
一种基于移动终端的横条纹图像识别方法及移动终端的制作方法
【专利摘要】本发明提供一种基于移动终端的横条纹图像识别方法及移动终端,其中,移动终端包括摄像头,该基于移动终端的横条纹图像识别方法包括:获取摄像头采集的一帧预览图像;对预览图像的每个像素点进行二值化处理,生成中间图像;根据中间图像,确定中间图像中像素点的灰度值变化信息;根据中间图像中像素点的灰度值变化信息,识别预览图像是否为横条纹图像。本发明实施例提供的方法通过简单的处理,可快速检测出当前图像是否为横条纹图像,最大限度地提高时间效率并降低功耗,解决了相位检测自动对焦的传感器无法对横条纹图像进行识别,导致不能对横条纹的场景进行对焦的问题。
【专利说明】
一种基于移动终端的横条纹图像识别方法及移动终端
技术领域
[0001]本发明涉及图像处理技术领域,尤其涉及一种基于移动终端的横条纹图像识别方法及移动终端。
【背景技术】
[0002]随着图像处理技术的发展,大部分移动终端的拍照功能日益多元化,例如相机滤镜,追踪对焦等功能。日常生活中,移动终端用户在拍照过程中,经常会遇到横条纹的拍摄场景。
[0003]目前,针对横条纹的拍摄场景,在拍摄过程中,对于相位检测自动对焦的传感器来说,由于无法对横条纹图像进行识别,导致不能对横条纹的场景进行对焦。

【发明内容】

[0004]本发明实施例提供一种基于移动终端的横条纹图像识别方法及移动终端,以解决相位检测自动对焦的传感器无法对横条纹图像进行识别,导致不能对横条纹的场景进行对焦的问题。
[0005]第一方面,本发明实施例提供一种基于移动终端的横条纹图像识别方法,其中移动终端包括摄像头,该方法包括:
[0006]获取摄像头采集的一帧预览图像;
[0007]对预览图像的每个像素点进行二值化处理,生成中间图像;
[0008]根据中间图像,确定中间图像中像素点的灰度值变化信息;
[0009]根据中间图像中像素点的灰度值变化信息,识别预览图像是否为横条纹图像。
[0010]第二方面,本发明实施例还提供一种移动终端,包括摄像头,该移动终端还包括:
[0011]图像获取模块,用于获取摄像头采集的一帧预览图像;
[0012]图像处理模块,用于对图像获取模块获取的预览图像的每个像素点进行二值化处理,生成中间图像;
[0013]确定模块,用于根据图像处理模块生成的中间图像,确定中间图像中像素点的灰度值变化信息;
[0014]图像识别模块,用于根据确定模块确定的中间图像中像素点的灰度值变化信息,识别预览图像是否为横条纹图像。
[0015]这样,本发明实施例中,通过获取摄像头采集到的预览图像,对得到的预览图像进行二值化处理,获取中间图像,进而来确定中间图像中的灰度值变化信息,根据确定的灰度值变化信息,来识别当前图像是否为横条纹图像。本发明实施例通过简单的处理,可快速检测出当前图像是否为横条纹图像,最大限度地提高时间效率并降低功耗,解决了相位检测自动对焦的传感器无法对横条纹图像进行识别,导致不能对横条纹的场景进行对焦的问题。
【附图说明】
[0016]为了更清楚地说明本发明实施例的技术方案,下面将对本发明实施例的描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0017]图1为本发明实施例一提供的基于移动终端的横条纹图像识别方法的流程图;
[0018]图2为本发明实施例二提供的基于移动终端的横条纹图像识别方法的流程图;
[0019]图3为本发明实施例三提供的基于移动终端的横条纹图像识别方法的流程图;
[0020]图4为本发明移动终端的第一实施例的结构图之一;
[0021]图5为本发明移动终端的第一实施例的结构图之二;
[0022]图6为本发明移动终端的第一实施例的结构图之三;
[0023]图7为本发明移动终端的第一实施例的结构图之四;
[0024]图8为本发明移动终端的第一实施例的结构图之五;
[0025]图9为本发明移动终端的第二实施例的框图;
[0026]图10为本发明移动终端的第三实施例的框图。
【具体实施方式】
[0027]下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0028]实施例一
[0029]如图1所示,本发明实施例一提供一种基于移动终端的横条纹图像识别方法,其中移动终端包括摄像头,该方法包括:
[0030]步骤11、获取摄像头采集的一帧预览图像。
[0031]首先利用移动终端的摄像头采集一帧预览图像,这里的移动终端可以是相机、智能手机、平板电脑以及PAD等。
[0032]步骤102、对预览图像的每个像素点进行二值化处理,生成中间图像。
[0033]针对得到的预览图像进行分析,获取该预览图像的每个像素点。其中像素点的概念为:在数字图像中将图像分割成非常细小的点,这里形成的细小的点称为像素点,每一个像素点都对应有一个灰度值表示该点图像的亮度。然后对预览图像的每个像素点进行二值化处理,去除干扰像素点信息后生成一中间图像。
[0034]对预览图像的每个像素点进行二值化处理,生成中间图像的操作包括:对于预览图像的每个像素点,将像素点的灰度值与第一预设阈值进行比较;当像素点的灰度值大于或等于第一预设阈值时,将像素点的灰度值重置为255;当像素点的灰度值小于第一预设阈值时,将像素点的灰度值重置为O;当预览图像的每个像素点均被重置后,生成中间图像。
[0035]具体地,将每一个像素点的灰度值分别与第一预设阈值进行比较,这里的第一预设阈值取值可以为128,当像素点的灰度值大于或等于第一预设阈值128时,将该像素点的灰度值重置为255;当像素点的灰度值小于第一预设阈值128时,将该像素点的灰度值重置为O ;在预览图像中的每个像素点均被重置后,可得到中间图像。
[0036]当前预览图像为灰度图像,二值化的处理对象为灰度图像,假定当前预览图像的长为H,宽为W,该预览图像的总像素点数为W*H,灰度图像每个像素点的灰度值的取值范围是0-255,将每一像素点的灰度值与128进行比较,当该像素点的灰度值大于128时,则设置该像素点的灰度值为255,当该像素点的灰度值小于128时,则设置该像素点的灰度值为O。经过二值化处理后的像素点的灰度值为O或者255,体现在中间图像上,当前经过处理后的中间图像上仅有黑白两种颜色。
[0037]步骤103、根据中间图像,确定中间图像中像素点的灰度值变化信息。
[0038]在获取中间图像之后,统计中间图像中的每一个像素点的灰度值,针对得到的每一个像素点的灰度值,统计行方向和列方向的像素点灰度值的变化情况。
[0039]步骤104、根据中间图像中像素点的灰度值变化信息,识别预览图像是否为横条纹图像。
[0040]若中间图像在列方向上的像素点的灰度值按照预设规则进行变化,且在行方向上存在由灰度值相同的多个像素点组成的直线,可以识别出预览图像为横条纹图像。其中,列方向上的像素点的灰度值呈预设规则变化时,可以为:在列方向上交替出现由第一灰度值的多个像素点组成的第一区域和由第二灰度值的多个像素点组成的第二区域,其中第一灰度值不等于第二灰度值,且第一灰度值为O或255,第二灰度值为O或255,当第一灰度值为O时,相应的第二灰度值为255。
[0041]本发明实施例中,通过简单的处理,可以快速检测出当前图像是否为横条纹图像,最大限度地提高时间效率并降低功耗。
[0042]本发明实施例的横条纹图像识别方法,通过获取摄像头采集到的预览图像,对得到的预览图像进行二值化处理,获取中间图像,进而来确定中间图像中的灰度值变化信息,根据确定的灰度值变化信息,来识别当前图像是否为横条纹图像。本发明实施例通过简单的处理,可快速检测出当前图像是否为横条纹图像,最大限度地提高时间效率并降低功耗,解决了相位检测自动对焦的传感器无法对横条纹图像进行识别,导致不能对横条纹的场景进行对焦的问题。
[0043]实施例二
[0044]如图2所示,本发明实施例二提供一种基于移动终端的横条纹图像识别方法,其中移动终端包括摄像头,该方法包括:
[0045]步骤201、获取摄像头采集的一帧预览图像。
[0046]首先利用移动终端的摄像头采集一帧预览图像,这里的移动终端可以是相机、智能手机、平板电脑以及PAD等。此时获得的预览图像为未经处理的图像,像素点的灰度值较为复杂。因此在获得预览图像之后,需要执行步骤202。
[0047 ]步骤202、对预览图像的每个像素点进行二值化处理,生成中间图像。
[0048]在利用摄像头采集到一帧未经处理的预览图像之后,采用二值化处理方法对预览图像中的每一个像素点进行处理,去除干扰像素点信息后生成一中间图像。
[0049]步骤203、获取中间图像的像素总宽度值W和像素总行数值H。
[0050]针对中间图像统计中间图像的像素总宽度值W,这里的像素值总宽度值W即为像素点的总列数。
[0051 ]步骤204、通过随机函数得到I?W范围内随机生成的M个整数。
[0052]针对中间图像的总列数W,采用一随机函数,在I?W的范围内随机生成M个整数,其中M取值范围为10 20。
[0053]步骤205、将M个整数按照递增顺序进行排列,得到M个递增的整数N1 ,N2--.Νμ。
[0054]然后针对获取的M个整数按照从小到大依次递增的顺序进行排列,得到M个递增的整数Νι、Ν2…Νμ。
[0055]步骤206、在中间图像中选取第N1列到第Nm列的M列像素点作为M列采样像素点。
[0056]在W列像素点中,选取第见列到第Nm列的M列像素点作为采样像素点,由于这M个整数是在I?W的范围内随机生成的,N^NyNM可以是I?W的范围内任意的呈递增顺序排列的M个整数,例如当M为10时,NlN2-Nm可以是10、20...100。
[0057]步骤207、获取M列采样像素点的每个采样像素点的灰度值。
[0058]针对M列采样像素点,分别统计每一个采样像素点的灰度值。例如:当M取值为10时,需要统计10列采样像素点中每一个采样像素点的灰度值。
[0059]步骤208、对于M列采样像素点中每一列采样像素点,依据从第I行到第H行的顺序比较相邻采样像素点的灰度值,统计每一列采样像素点的灰度值发生变化的行数,得到M个数列Αι、Α2…Am。
[0060]针对M列采样像素点中的每一列采样像素点,按照从第I行到第H行的顺序对相邻采样像素点的灰度值进行比较,判断是否存在相邻采样像素点的灰度值发生变化的情况。当存在时,对灰度值发生变化的采样像素点所在的行数进行存储。例如当前采样像素点位于第7行,当前采样像素点的灰度值为0,与当前采样像素点处于同一列的,且位于当前采样像素点上方的采样像素点的灰度值为255,则需要将当前采样像素点所处的行数7作为一元素进行存储。
[0061]针对M列采样像素点中的每一列采样像素点进行统计完成后,可以得到M个数列^、知…Am,其中每一数列中的元素为该列采样像素点的灰度值发生变化的行数。
[0062]步骤209、根据中间图像中像素点的灰度值变化信息,识别预览图像是否为横条纹图像。
[0063]本发明实施例中,根据中间图像中像素点的灰度值变化信息,识别预览图像是否为横条纹图像具体包括:
[0064]将M个数列A1JdM的相邻两个数列的元素个数依次进行比较;根据比较结果的不同,识别结果相应不同,具体分为如下两种情况:
[0065]第一种比较结果
[0066]当M个数列A1JvAm中至少有一对相邻两个数列的元素个数的差值大于第二预设阈值时,识别出预览图像不为横条纹图像。
[0067]针对得到的M个数列,对任意相邻的两个数列中的元素个数进行比较,判断相邻的两个数列中元素个数的差值大于第二预设阈值,这里的第二预设阈值可以取值为3。当存在至少一对相邻两个数列的元素个数的差值大于第二预设阈值3时,识别出预览图像不是横条纹图像。
[0068]第二种比较结果
[0069]当M个数列A1JvAm中所有相邻两个数列的元素个数的差值均小于或等于第二预设阈值时,对于M个数列A1JvAm,依次求取每列的元素个数与数列A1的元素个数之间的差值,并记录为Cl、C2...Cm。
[0070]并根据C1、C2…Cm的不同取值,识别结果相应不同,具体分为如下两种情况:
[0071]第一种取值情况
[0072]当C1XvCm相等时,对于M列采样像素点中的每一行采样像素点进行判断是否通过插值可得到一条水平直线;
[0073]当根据M列采样像素点中的每一行采样像素点通过插值可得到一条水平直线时,识别出预览图像为横条纹图像。
[0074]针对得到的M个数列,对任意相邻的两个数列中的元素个数进行比较,判断相邻的两个数列中元素个数的差值小于或者等于第二预设阈值时,依次求取每列的元素个数与数列^的元素个数之间的差值,并记录为C1Xf Cm。当C1Xr-CM相等时,需要对于M列采样像素点,在行方向上判断每一行采样像素点是否通过插值可得到一条水平直线,若M列采样像素点中的每一行采样像素点通过插值可得到一条水平直线时,即可识别出预览图像为横条纹图像。
[0075]例如,数列^中元素的个数为10个,如中元素的个数为10个,A3中元素的个数为10个…A#元素的个数为10个,则可以确定&、&...Cn均为0,且&、&...匕均相等。
[0076]第二种取值情况
[0077]当&、C2-Cm依次递增或者递减时,依次选取A1的第i个元素,A2的第i+1C2-C11个元素,…以及Am的第i+ I Cm-Ci |个兀素,并记录为El、E2...EM;
[0078]以中间图像的左上角顶点为坐标原点建立直角坐标系;
[0079]根据M个数列Al、A2...Am和Ει、E2...Em,确定Ει、E2...Em中每个兀素对应的中间图像中的M个采样像素点的横纵坐标值;
[0080]根据M个采样像素点的横纵坐标值,通过插值得到一条倾斜直线;
[0081]根据M个采样像素点的横纵坐标值和倾斜直线,识别预览图像是否为横条纹图像。
[0082]例如:当M取值为10时,假定数列A1*元素的个数为11个,如中元素的个数为12个,A3中元素的个数为13个,A4中元素的个数为14个,A5中元素的个数为15个,A6中元素的个数为16个,A7中元素的个数为17个,As中元素的个数为18个,A9中元素的个数为19个,A1中元素的个数为20个。则可以确定&为0,C2为I,C3为2,C4为3,(:5为4,C6为5,C7为6,C8为7,C9为8,C1为9 <X1、C2-_Cn依次递增。或者数列Ai中元素的个数为20个,A2中元素的个数为19个,A3中元素的个数为18个,A4中元素的个数为17个,A5中元素的个数为16个,A6中元素的个数为15个,A7中元素的个数为14个,As中元素的个数为13个,A9中元素的个数为12个,A1中元素的个数为11个。则可以确定&为0,C2为-1,C3为-2,C4为-3,(:5为-4,C6为-5,C7为-6,C8为-7,C9为-8,C10为-9。C1、C2…Cn依次递减。
[0083]当N个数列中各个数列的元素的个数不相等时,且C1X^Cn依次递增时,提取^的第i个元素,提取A2的第i+Cs-Ci个元素,...以及An的第i+Cn-Q个元素。
[0084]当N个数列中各个数列的元素的个数不相等时,且C1X^Cn依次递减时,提取^的第i个元素,提取A2的第i+Q-Cs个元素,...以及An的第i+C1-Cn个元素。
[0085]然后建立直角坐标系,根据M个数列A1Jf Am以及Ε^Ε^Εμ,在直角坐标系中,确定E^EvEm中每个元素对应的采样像素点的横坐标值和纵坐标值。根据M个采样像素点的横坐标值和纵坐标值,通过插值得到一条倾斜直线,然后则根据M个采样像素点的横纵坐标值和倾斜直线,识别出预览图像是否为横条纹图像。
[0086]根据M个采样像素点的横纵坐标值和倾斜直线,识别出预览图像是否为横条纹图像的方法为:
[0087]对于M个采样像素点中的每个采样像素点,根据每个采样像素点的横纵坐标值,计算每个采样像素点到倾斜直线之间的距离;
[0088]当M个采样像素点中的所有采样像素点到倾斜直线之间的距离均小于第三预设阈值时,识别出预览图像为横条纹图像;
[0089]当M个采样像素点中的至少有一个采样像素点到倾斜直线之间的距离大于或等于第三预设阈值时,识别出预览图像不为横条纹图像。
[0090]具体的,对于M个采样像素点中的每个采样像素点,根据每个采样像素点的横纵坐标值,计算每个采样像素点到倾斜直线之间的距离。在计算采样像素点到倾斜直线之间的距离时,需要在直角坐标系中确定倾斜直线的方程,然后根据点到直线的距离计算公式,计算得到每个采样像素点到倾斜直线的距离。
[0091]当M个采样像素点中的所有采样像素点到倾斜直线之间的距离均小于第三预设阈值时,则可以识别出预览图像为横条纹图像。这里的第三预设阈值的取值范围为5?15。
[0092]当M个采样像素点中的至少有一个采样像素点到倾斜直线之间的距离大于或等于第三预设阈值时,则可以识别出预览图像不为横条纹图像。
[0093]本发明实施例的横条纹图像识别方法,通过获取摄像头采集到的预览图像,对得到的预览图像进行二值化处理,获取中间图像,进而采用逐一匹配的方式判断当前的采样像素点是否满足横条纹的特征,当所采集的像素点满足横条纹的特征,识别当前图像为横条纹图像。本发明实施例通过简单的处理,可快速检测出当前图像是否为横条纹图像,最大限度地提高时间效率并降低功耗,解决了相位检测自动对焦的传感器无法对横条纹图像进行识别,导致不能对横条纹的场景进行对焦的问题。
[0094]实施例三
[0095]如图3所示,本发明实施例三提供一种基于移动终端的横条纹图像识别方法,其中移动终端包括摄像头,该方法包括:
[0096]步骤301、获取摄像头采集的一帧预览图像。
[0097]首先利用移动终端的摄像头采集一帧预览图像,这里的移动终端可以是相机、智能手机、平板电脑以及PAD等。此时获得的预览图像为未经处理的图像,像素点的灰度值较为复杂。因此在获得预览图像之后,需要执行步骤302。
[0098]步骤302、对预览图像的每个像素点进行二值化处理,生成中间图像。
[0099]在利用摄像头采集到一帧未经处理的预览图像之后,采用二值化处理方法对预览图像中的每一个像素点进行处理,去除干扰像素点信息后生成一中间图像。
[0100]步骤303、对于中间图像预设图像区域的每个像素点,分别计算像素点的行方向上的第一参考值和列方向上的第二参考值。
[0101]对于中间图像预设图像区域的每个像素点,计算像素点的行方向上的第一参考值时,具体为:根据公式Kr?=2 X Y-Yl-Yr计算像素点的行方向上的第一参考值,其中,Kr?为像素点的行方向上的第一参考值,Y为像素点的灰度值,Yl为像素点的左侧与像素点相邻的像素点的灰度值,Yr为像素点的右侧与像素点相邻的像素点的灰度值。
[0102]对于中间图像预设图像区域的每个像素点,计算像素点的列方向上的第二参考值时,具体为:根据公式KLine = 2 X Y-Yu-Yd计算像素点的列方向上的第二参考值,其中,KLine^像素点的列方向上的第二参考值,Y为像素点的灰度值,Yu为像素点的上侧与像素点相邻的像素点的灰度值,Yd为像素点的下侧与像素点相邻的像素点的灰度值。
[0103]步骤304、将中间图像预设图像区域的所有像素点的行方向上的第一参考值均取绝对值,然后进行求和运算,得到第一和值。
[0104]针对所有像素点,在获取像素点在行方向上的第一参考值之后,将所有像素点在行方向上的第一参考值均取绝对值,然后将得到的绝对值进行求和运算,得到第一和值。
[0105]步骤305、将中间图像预设图像区域的所有像素点的列方向上的第二参考值均取绝对值,然后进行求和运算,得到第二和值。
[0106]针对所有像素点,在获取像素点在列方向上的第二参考值之后,将所有像素点在列方向上的第二参考值均取绝对值,然后将得到的绝对值进行求和运算,得到第二和值。
[0107]步骤306、根据第一和值和第二和值,识别预览图像是否为横条纹图像。
[0108]本发明实施例中,根据第一和值和第二和值,识别预览图像是否为横条纹图像的方法具体为:
[0109]当第一和值不为O时,计算第二和值与第一和值的比值,当第二和值与第一和值的比值大于第四预设阈值时,识别出预览图像为横条纹图像,否则,识别出预览图像不为横条纹图像;当第一和值为O且第二和值大于第五预设阈值时,识别出预览图像为横条纹图像,否则,识别出预览图像不为横条纹图像。
[0110]当第一和值不为O时,识别预览图像是否为横条纹图像的方法具体为:在第一和值不为O时,需要计算第二和值与第一和值的比值,然后将计算得到的第二和值与第一和值的比值与第四预设阈值进行比较,这里的第四预设阈值的取值范围为5?15,当第二和值与第一和值的比值大于第四预设阈值时,确定预览图像为横条纹图像,当第二和值与第一和值的比值小于或者等于第四预设阈值时,确定预览图像不是横条纹图像。
[0111]当第一和值为O时,识别预览图像是否为横条纹图像的方法具体为:在第一和值为O时,需要将第二和值与第五预设阈值进行比较,这里的第五预设阈值的范围可以为5000?10000,当第二和值大于第五预设阈值时,确定预览图像为横条纹图像,当第二和值小于或者等于第五预设阈值时,确定预览图像不是横条纹图像。
[0112]本发明实施例的横条纹图像识别方法,通过获取摄像头采集到的预览图像,对得到的预览图像进行二值化处理,获取中间图像,进而根据横条纹行方向和列方向上的像素点的特点,判断当前图像是否为横条纹图像。本发明实施例通过简单的处理,可快速检测出当前图像是否为横条纹图像,最大限度地提高时间效率并降低功耗,解决了相位检测自动对焦的传感器无法对横条纹图像进行识别,导致不能对横条纹的场景进行对焦的问题。
[0113]实施例四
[0114]以下为本发明实施例四提供的一种移动终端的实施例。移动终端的实施例与上述的方法实施例属于同一构思,移动终端的实施例中未详尽描述的细节内容,可以参考上述方法实施例。[Ο115] 其中,如图4所示,移动终端10包括:
[0116]图像获取模块100,用于获取摄像头采集的一帧预览图像;
[0117]图像处理模块200,用于对图像获取模块100获取的预览图像的每个像素点进行二值化处理,生成中间图像;
[0118]确定模块300,用于根据图像处理模块200生成的中间图像,确定中间图像中像素点的灰度值变化信息;
[0119]图像识别模块400,用于根据确定模块300确定的中间图像中像素点的灰度值变化信息,识别预览图像是否为横条纹图像。
[0120]其中,如图5和图8所示,图像处理模块200包括:
[0121]第一比较子模块210,用于对于预览图像的每个像素点,将像素点的灰度值与第一预设阈值进行比较;
[0122]第一重置子模块220,用于当第一比较子模块210的比较结果为像素点的灰度值大于或等于第一预设阈值时,将像素点的灰度值重置为255;
[0123]第二重置子模块230,用于当第一比较子模块210的比较结果为像素点的灰度值小于第一预设阈值时,将像素点的灰度值重置为O;
[0124]第一生成子模块240,用于当第一重置子模块220、第二重置子模块230对预览图像的每个像素点均重置后,生成中间图像。
[0125]其中,如图6和图8所示,确定模块300包括:
[0126]第一获取子模块310,用于获取中间图像的像素总宽度值W和像素总行数值H;
[0127]第二生成子模块311,用于根据第一获取子模块310获取的中间图像的像素总宽度值W,通过随机函数得到I?W范围内随机生成的M个整数;
[0128]排列子模块312,用于根据第二生成子模块311生成的M个整数,将M个整数按照递增顺序进行排列,得到M个递增的整数ΙΝ^Νμ;
[0129]选取子模块313,用于根据排列子模块312得到的M个递增的整数Ν^Ν^Νμ,在中间图像中选取第N1列到第Nm列的M列像素点作为M列采样像素点;
[0130]第二获取子模块314,用于获取选取子模块313获取的M列采样像素点的每个采样像素点的灰度值;
[0131]统计子模块315,用于根据第二获取子模块314获取的M列采样像素点的每个采样像素点的灰度值,对于M列采样像素点中每一列采样像素点,依据从第I行到第H行的顺序比较相邻采样像素点的灰度值,统计每一列采样像素点的灰度值发生变化的行数,得到M个数列 Αι、Α2...Αμ;
[0132]其中,M个数列Α^Α^Αμ中,每个数列的元素为该列采样像素点的灰度值发生变化的行数,M取值范围为10 5 Mg 20。
[0133]其中,如图7和图8所示,图像识别模块400包括:
[0134]第二比较子模块410,用于将M个数列A^AdM的相邻两个数列的元素个数依次进行比较;
[0135]第一识别子模块411,用于当第二比较子模块410的比较结果为M个数列AlA2--Am中至少有一对相邻两个数列的元素个数的差值大于第二预设阈值时,识别出预览图像不为横条纹图像。
[0136]其中,图像识别模块400还包括:
[0137]获取记录子模块412,用于当第二比较子模块410的比较结果为M个数列A1J2--Am中所有相邻两个数列的元素个数的差值均小于或等于第二预设阈值时,对于M个数列Α2...Αμ,依次求取每列的元素个数与数列^的元素个数之间的差值,并记录为&、&...Cm;
[0138]判断子模块413,用于当获取记录子模块412中的&、&...Cm相等时,对于M列采样像素点中的每一行采样像素点进行判断是否通过插值可得到一条水平直线;
[0139]第二识别子模块414,用于当判断子模块413的判断结果为M列采样像素点中的每一行采样像素点通过插值可得到一条水平直线时,识别出预览图像为横条纹图像。
[0140]其中,图像识别模块400还包括:
[0141]选取记录子模块415,用于当获取记录子模块412中的&、&...Cm依次递增或者递减时,依次选取A1的第i个元素,A2的第i+I C2-C11个元素,…以及Am的第i+I Cm-C1 I个元素,并记录为 Ει、Ε2...Εμ;
[0142]建立子模块416,用于以中间图像的左上角顶点为坐标原点建立直角坐标系;
[0143]确定子模块417,用于根据M个数列Am和E1、Ε2…Εμ,在建立子模块416建立的直角坐标系中确定E1、Ε2...Εμ中每个元素对应的中间图像中的M个采样像素点的横纵坐标值;
[0144]处理子模块418,用于根据确定子模块417中确定的M个采样像素点的横纵坐标值,通过插值得到一条倾斜直线;
[0145]第三识别子模块419,用于根据确定子模块417中确定的M个采样像素点的横纵坐标值和处理子模块418中得到的倾斜直线,识别预览图像是否为横条纹图像。
[0146]其中,第三识别子模块419包括:
[0147]计算单元4191,用于对于M个采样像素点中的每个采样像素点,根据每个采样像素点的横纵坐标值,计算每个采样像素点到倾斜直线之间的距离;
[0148]第一识别单元4192,用于当计算单元4191中计算的M个采样像素点中的所有采样像素点到倾斜直线之间的距离均小于第三预设阈值时,识别出预览图像为横条纹图像;
[0149]第二识别单元4193,用于当计算单元4192中计算的M个采样像素点中的至少有一个采样像素点到倾斜直线之间的距离大于或等于第三预设阈值时,识别出预览图像不为横条纹图像。
[0150]其中,如图6和图8所示,确定模块300包括:
[0151]第一计算子模块316,用于对于中间图像预设图像区域的每个像素点,分别计算像素点的行方向上的第一参考值和列方向上的第二参考值;
[0152]第二计算子模块317,用于将中间图像预设图像区域的所有像素点的行方向上的第一参考值均取绝对值,然后进行求和运算,得到第一和值;
[0153]第三计算子模块318,用于将中间图像预设图像区域的所有像素点的列方向上的第二参考值均取绝对值,然后进行求和运算,得到第二和值。
[0154]其中,第一计算子模块316包括:
[0155]第一计算单元3161,用于根据公式Kr?=2X Y-Yl-Yr计算像素点的行方向上的第一参考值,其中,Kr?为像素点的行方向上的第一参考值,Y*像素点的灰度值,Yl为像素点的左侧与像素点相邻的像素点的灰度值,Yr为像素点的右侧与像素点相邻的像素点的灰度值;
[0156]第二计算单元3162,用于根据公式KLine= 2 X Y-Yu-Yd计算像素点的列方向上的第二参考值,其中,KLine为像素点的列方向上的第二参考值,Y为像素点的灰度值,Yu为像素点的上侧与像素点相邻的像素点的灰度值,YD为像素点的下侧与像素点相邻的像素点的灰度值。
[0157]其中,如图7和图8所示,图像识别模块400包括:
[0158]第四识别子模块420,用于当第二计算子模块317中计算的第一和值不为O时,计算第三计算子模块318计算出的第二和值与第一和值的比值,当第二和值与第一和值的比值大于第四预设阈值时,识别出预览图像为横条纹图像,否则,识别出预览图像不为横条纹图像;
[0159]第五识别子模块421,用于当第二计算子模块317中计算的第一和值为O且第三计算子模块318计算出的第二和值大于第五预设阈值时,识别出预览图像为横条纹图像,否则,识别出预览图像不为横条纹图像。
[0160]本发明实施例的移动终端,通过上述模块获取摄像头采集到的预览图像,对得到的预览图像进行二值化处理,获取中间图像,进而来确定中间图像中的灰度值变化信息,根据确定的灰度值变化信息,来识别当前图像是否为横条纹图像。本发明实施例通过简单的处理,可快速检测出当前图像是否为横条纹图像,最大限度地提高时间效率并降低功耗,解决了相位检测自动对焦的传感器无法对横条纹图像进行识别,导致不能对横条纹的场景进行对焦的问题。
[0161]需要说明的是,本发明提供的移动终端是应用上述方法的移动终端,上述方法实施例中所有实现方式均适用于该移动终端的实施例中,也能达到相同的技术效果。
[0162]实施例五
[0163]本发明实施例五提供了一种移动终端,如图9所示,移动终端900包括:至少一个处理器901、存储器902、至少一个网络接口904和用户接口903、拍照组件906,拍照组件906包括摄像头9061。移动终端900中的各个组件通过总线系统905耦合在一起。可理解,总线系统905用于实现这些组件之间的连接通信。总线系统905除包括数据总线之外,还包括电源总线、控制总线和状态信号总线。但是为了清楚说明起见,在图9中将各种总线都标为总线系统 905。
[0164]其中,用户接口 903可以包括显示器、键盘或者点击设备(例如,鼠标,轨迹球(trackball)、触感板或者触摸屏等。
[0165]可以理解,本发明实施例中的存储器902可以是易失性存储器或非易失性存储器,或可包括易失性和非易失性存储器两者。其中,非易失性存储器可以是只读存储器(Read-OnlyMemory, ROM)、可编程只读存储器(ProgrammabI eROM,PROM)、可擦除可编程只读存储器(ErasablePR0M,EPR0M)、电可擦除可编程只读存储器(ElectricallyEPROM,EEPROM)或闪存。易失性存储器可以是随机存取存储器(RandomAccessMemory’RAM),其用作外部高速缓存。通过示例性但不是限制性说明,许多形式的RAM可用,例如静态随机存取存储器(3七&〖化!^1,31^10、动态随机存取存储器(0711&1^^^1,01^10、同步动态随机存取存储器(SynchronousDRAM,SDRAM)、双倍数据速率同步动态随机存取存储器(DoubleDataRateSDRAM,DDRSDRAM)、增强型同步动态随机存取存储器(Enhanced SDRAM,ESDRAM)、同步连接动态随机存取存储器(Synchl inkDRAM,SLDRAM)和直接内存总线随机存取存储器(DirectRambusRAM,DRRAM)。本文描述的系统和方法的存储器902旨在包括但不限于这些和任意其它适合类型的存储器。
[0166]在一些实施方式中,存储器902存储了如下的元素,可执行模块或者数据结构,或者他们的子集,或者他们的扩展集:操作系统9021和应用程序9022。
[0167]其中,操作系统9021,包含各种系统程序,例如框架层、核心库层、驱动层等,用于实现各种基础业务以及处理基于硬件的任务。应用程序9022,包含各种应用程序,例如显示控制器、媒体播放器(MediaPlayer)、浏览器(Browser)等,用于实现各种应用业务。实现本发明实施例方法的程序可以包含在应用程序9022中。
[0168]在本发明实施例中,通过调用存储器902存储的程序或指令,具体的,可以是应用程序9022中存储的程序或指令,处理器901用于获取摄像头9061采集的一帧预览图像;对预览图像的每个像素点进行二值化处理,生成中间图像;根据中间图像,确定中间图像中像素点的灰度值变化信息;根据中间图像中像素点的灰度值变化信息,识别预览图像是否为横条纹图像。
[0169]上述本发明实施例揭示的方法可以应用于处理器901中,或者由处理器901实现。处理器901可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器901中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器901可以是通用处理器、数字信号处理器(DigitalSignalProcessor,DSP)、专用集成电路(Applicat1nSpecific IntegratedCircuit ,ASIC)、现成可编程门阵列(FieldProgrammableGateArray,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本发明实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本发明实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器902,处理器901读取存储器902中的信息,结合其硬件完成上述方法的步骤。
[0170]可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(Applicat1nSpecificIntegratedCircuits,ASIC)、数字信号处理器(DigitalSignalProcessing,DSP)、数字信号处理设备(DSPDevice,DSPD)、可编程逻辑设备(ProgrammableLogicDevice ,PLD)、现场可编程门阵列(Field-ProgrammableGateArray,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
[0171]对于软件实现,可通过执行本文所述功能的模块(例如过程、函数等)来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
[0172]可选的,处理器901在执行对预览图像的每个像素点进行二值化处理,生成中间图像的操作时,还用于:对于预览图像的每个像素点,将像素点的灰度值与第一预设阈值进行比较;当像素点的灰度值大于或等于第一预设阈值时,将像素点的灰度值重置为255;当像素点的灰度值小于第一预设阈值时,将像素点的灰度值重置为O;当预览图像的每个像素点均被重置后,生成中间图像。
[0173]可选的,处理器901在执行根据中间图像,确定中间图像中像素点的灰度值变化信息时的操作时,还用于:获取中间图像的像素总宽度值W和像素总行数值H;通过随机函数得至IJl?W范围内随机生成的M个整数;将M个整数按照递增顺序进行排列,得到M个递增的整数N1、N2…Nm ;在中间图像中选取第见列到第Nm列的M列像素点作为M列采样像素点;获取M列采样像素点的每个采样像素点的灰度值;对于M列采样像素点中每一列采样像素点,依据从第I行到第H行的顺序比较相邻采样像素点的灰度值,统计每一列采样像素点的灰度值发生变化的行数,得到M个数列A^A2-Am;其中,M个数列A1J2-Am中,每个数列的元素为该列采样像素点的灰度值发生变化的行数,M取值范围为10 20。
[0174]可选的,处理器901在执行根据中间图像中像素点的灰度值变化信息,识别预览图像是否为横条纹图像时的操作时,还用于:将M个数列A1JvAm的相邻两个数列的元素个数依次进行比较;当M个数列A1Jr-AM中至少有一对相邻两个数列的元素个数的差值大于第二预设阈值时,识别出预览图像不为横条纹图像。
[0175]可选的,处理器901还用于:当M个数列A1、Ar..ΑΜ中所有相邻两个数列的元素个数的差值均小于或等于第二预设阈值时,对于M个数列Α^Α^Αμ,依次求取每列的元素个数与数列^的元素个数之间的差值,并记录为C1Xy Cm;当C1Jr-CM相等时,对于M列采样像素点中的每一行采样像素点进行判断是否通过插值可得到一条水平直线;当根据M列采样像素点中的每一行采样像素点通过插值可得到一条水平直线时,识别出预览图像为横条纹图像。
[0176]可选的,处理器901还用于:当C1、CfCM依次递增或者递减时,依次选取Al的第i个兀素,A2的第i+ I C2-C11个兀素,…以及Am的第i+ I Cm-Ci |个兀素,并记录为El、E2...EM;以中间图像的左上角顶点为坐标原点建立直角坐标系;根据M个数列A1、A2…Ai^PE1、E2…Em,确定E^E2-..Εμ中每个元素对应的中间图像中的M个采样像素点的横纵坐标值;根据M个采样像素点的横纵坐标值,通过插值得到一条倾斜直线;根据M个采样像素点的横纵坐标值和倾斜直线,识别预览图像是否为横条纹图像。
[0177]其中,处理器901在执行根据M个采样像素点的横纵坐标值和倾斜直线,识别预览图像是否为横条纹图像时的操作时,还用于:对于M个采样像素点中的每个采样像素点,根据每个采样像素点的横纵坐标值,计算每个采样像素点到倾斜直线之间的距离;当M个采样像素点中的所有采样像素点到倾斜直线之间的距离均小于第三预设阈值时,识别出预览图像为横条纹图像;当M个采样像素点中的至少有一个采样像素点到倾斜直线之间的距离大于或等于第三预设阈值时,识别出预览图像不为横条纹图像。
[0178]可选的,处理器901在执行根据中间图像,确定中间图像中像素点的灰度值变化信息时的操作时,还用于:对于中间图像预设图像区域的每个像素点,分别计算像素点的行方向上的第一参考值和列方向上的第二参考值;将中间图像预设图像区域的所有像素点的行方向上的第一参考值均取绝对值,然后进行求和运算,得到第一和值;将中间图像预设图像区域的所有像素点的列方向上的第二参考值均取绝对值,然后进行求和运算,得到第二和值。
[0179]可选的,处理器901还用于:根据公式Kr?=2XY-Yl-Yr计算所述像素点的行方向上的第一参考值,其中,Kr?为所述像素点的行方向上的第一参考值,Y为所述像素点的灰度值,Yl为所述像素点的左侧与所述像素点相邻的像素点的灰度值,Yr为所述像素点的右侧与所述像素点相邻的像素点的灰度值;根据公式KLine = 2 X Y-Yu-Yd计算所述像素点的列方向上的第二参考值,其中,KLine为所述像素点的列方向上的第二参考值,Y为所述像素点的灰度值,Yli为所述像素点的上侧与所述像素点相邻的像素点的灰度值,Yd为所述像素点的下侧与所述像素点相邻的像素点的灰度值。
[0180]处理器901在执行根据中间图像中像素点的灰度值变化信息,识别预览图像是否为横条纹图像时的操作时,还用于:当第一和值不为O时,计算第二和值与第一和值的比值,当第二和值与第一和值的比值大于第四预设阈值时,识别出预览图像为横条纹图像,否则,识别出预览图像不为横条纹图像;当第一和值为O且第二和值大于第五预设阈值时,识别出预览图像为横条纹图像,否则,识别出预览图像不为横条纹图像。
[0181 ]移动终端900能够实现前述实施例中移动终端实现的各个过程,为避免重复,这里不再赘述。
[0182]本发明实施例的移动终端,通过处理器901获取摄像头9061采集到的预览图像,对得到的预览图像进行二值化处理,获取中间图像,进而来确定中间图像中的灰度值变化信息,根据确定的灰度值变化信息,来识别当前图像是否为横条纹图像。通过简单的处理,可快速检测出当前图像是否为横条纹图像,最大限度地提高时间效率并降低功耗,解决了相位检测自动对焦的传感器无法对横条纹图像进行识别,导致不能对横条纹的场景进行对焦的问题。
[0183]实施例六
[0184]本发明实施例六提供了一种移动终端。如图10所示,移动终端1000可以为手机、平板电脑、个人数字助理(PersonalDigital Assistant ,PDA)、或车载电脑等。
[0185]图10中的移动终端1000包括射频(Rad1Frequency,RF)电路1010、存储器1020、输入单元1030、显示单元1040、拍照组件1050、处理器1060、音频电路1070、WiFi(WirelessFidelity)模块1080和电源1090。其中拍照组件1050包括摄像头1051。
[0186]其中,输入单元1030可用于接收用户输入的数字或字符信息,以及产生与移动终端1000的用户设置以及功能控制有关的信号输入。具体地,本发明实施例中,该输入单元1030可以包括触控面板1031。触控面板1031,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板1031上的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板1031可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给该处理器1060,并能接收处理器1060发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板1031。除了触控面板1031,输入单元1030还可以包括其他输入设备1030,其他输入设备1030可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
[0187]其中,显示单元1040可用于显示由用户输入的信息或提供给用户的信息以及移动终端1000的各种菜单界面。显示单元1040可包括显示面板1041,可选的,可以采用LCD或有机发光二极管(OrganicLight-EmittingD1de,OLED)等形式来配置显示面板1041。
[0188]应注意,触控面板1031可以覆盖显示面板1041,形成触摸显示屏,当该触摸显示屏检测到在其上或附近的触摸操作后,传送给处理器1060以确定触摸事件的类型,随后处理器1060根据触摸事件的类型在触摸显示屏上提供相应的视觉输出。
[0189]触摸显示屏包括应用程序界面显示区及常用控件显示区。该应用程序界面显示区及该常用控件显示区的排列方式并不限定,可以为上下排列、左右排列等可以区分两个显示区的排列方式。该应用程序界面显示区可以用于显示应用程序的界面。每一个界面可以包含至少一个应用程序的图标和/或widget桌面控件等界面元素。该应用程序界面显示区也可以为不包含任何内容的空界面。该常用控件显示区用于显示使用率较高的控件,例如,设置按钮、界面编号、滚动条、电话本图标等应用程序图标等。
[0190]其中处理器1060是移动终端1000的控制中心,利用各种接口和线路连接整个手机的各个部分,通过运行或执行存储在第一存储器1021内的软件程序和/或模块,以及调用存储在第二存储器1022内的数据,执行移动终端1000的各种功能和处理数据,从而对移动终端1000进行整体监控。可选的,处理器1060可包括一个或多个处理单元。拍照组件1050包括摄像头1051。
[0191]在本发明实施例中,通过调用存储该第一存储器1021内的软件程序和/或模块和/或该第二存储器1022内的数据,处理器1060用于获取摄像头1051采集的一帧预览图像;对预览图像的每个像素点进行二值化处理,生成中间图像;根据中间图像,确定中间图像中像素点的灰度值变化信息;根据中间图像中像素点的灰度值变化信息,识别预览图像是否为横条纹图像。
[0192]需要说明的是,对预览图像的每个像素点进行二值化处理,生成中间图像时包括:对于预览图像的每个像素点,将像素点的灰度值与第一预设阈值进行比较;当像素点的灰度值大于或等于第一预设阈值时,将像素点的灰度值重置为255;当像素点的灰度值小于第一预设阈值时,将像素点的灰度值重置为O;当预览图像的每个像素点均被重置后,生成中间图像。
[0193]可选地,作为另一实施例,处理器1060在执行根据中间图像,确定中间图像中像素点的灰度值变化信息时的操作时,还用于:获取中间图像的像素总宽度值W和像素总行数值H;通过随机函数得到I?W范围内随机生成的M个整数;将M个整数按照递增顺序进行排列,得到M个递增的整数N1 ,N2-..Νμ;在中间图像中选取第N1列到第Nm列的M列像素点作为M列采样像素点;获取M列采样像素点的每个采样像素点的灰度值;对于M列采样像素点中每一列采样像素点,依据从第I行到第H行的顺序比较相邻采样像素点的灰度值,统计每一列采样像素点的灰度值发生变化的行数,得到M个数列A1、Α2...Αμ;其中,Μ个数列A1、Α2...Αμ中,每个数列的元素为该列采样像素点的灰度值发生变化的行数,M取值范围为10 20。
[0194]可选的,处理器1060在执行根据中间图像中像素点的灰度值变化信息,识别预览图像是否为横条纹图像时的操作时,还用于:将M个数列AhAr-AM的相邻两个数列的元素个数依次进行比较;当M个数列Α^Α^Αμ中至少有一对相邻两个数列的元素个数的差值大于第二预设阈值时,识别出预览图像不为横条纹图像。
[0195]可选的,处理器1060还用于:当M个数列A1 ,A2--.ΑΜ中所有相邻两个数列的元素个数的差值均小于或等于第二预设阈值时,对于M个数列A^A^Am,依次求取每列的元素个数与数列^的元素个数之间的差值,并记录为C1Xy Cm;当C1Jr-CM相等时,对于M列采样像素点中的每一行采样像素点进行判断是否通过插值可得到一条水平直线;当根据M列采样像素点中的每一行采样像素点通过插值可得到一条水平直线时,识别出预览图像为横条纹图像。
[0196]可选的,处理器1060还用于:当C1Xr-CM依次递增或者递减时,依次选取A1的第i个元素,A2的第i+I C2-C11个元素,…以及Am的第i+I Cm-C1 I个元素,并记录为E^E2-Em;以中间图像的左上角顶点为坐标原点建立直角坐标系;根据M个数列A1、Α2...Αμ和E1、Ε2...Εμ,确定E^E2-..Εμ中每个元素对应的中间图像中的M个采样像素点的横纵坐标值;根据M个采样像素点的横纵坐标值,通过插值得到一条倾斜直线;根据M个采样像素点的横纵坐标值和倾斜直线,识别预览图像是否为横条纹图像。
[0197]其中,处理器1060在执行根据M个采样像素点的横纵坐标值和倾斜直线,识别预览图像是否为横条纹图像时的操作时,还用于:对于M个采样像素点中的每个采样像素点,根据每个采样像素点的横纵坐标值,计算每个采样像素点到倾斜直线之间的距离;当M个采样像素点中的所有采样像素点到倾斜直线之间的距离均小于第三预设阈值时,识别出预览图像为横条纹图像;当M个采样像素点中的至少有一个采样像素点到倾斜直线之间的距离大于或等于第三预设阈值时,识别出预览图像不为横条纹图像。
[0198]可选的,处理器1060在执行根据中间图像,确定中间图像中像素点的灰度值变化信息时的操作时,还用于:对于中间图像预设图像区域的每个像素点,分别计算像素点的行方向上的第一参考值和列方向上的第二参考值;将中间图像预设图像区域的所有像素点的行方向上的第一参考值均取绝对值,然后进行求和运算,得到第一和值;将中间图像预设图像区域的所有像素点的列方向上的第二参考值均取绝对值,然后进行求和运算,得到第二和值。
[0199]可选的,处理器1060还用于:根据公式Kr? = 2XY-Yl-Yr计算所述像素点的行方向上的第一参考值,其中,Kr?为所述像素点的行方向上的第一参考值,Y为所述像素点的灰度值,Yl为所述像素点的左侧与所述像素点相邻的像素点的灰度值,Yr为所述像素点的右侧与所述像素点相邻的像素点的灰度值;根据公式KLine = 2 X Y-Yu-Yd计算所述像素点的列方向上的第二参考值,其中,KLine为所述像素点的列方向上的第二参考值,Y为所述像素点的灰度值,Yli为所述像素点的上侧与所述像素点相邻的像素点的灰度值,Yd为所述像素点的下侧与所述像素点相邻的像素点的灰度值。
[0200]处理器1060在执行根据中间图像中像素点的灰度值变化信息,识别预览图像是否为横条纹图像时的操作时,还用于:当第一和值不为O时,计算第二和值与第一和值的比值,当第二和值与第一和值的比值大于第四预设阈值时,识别出预览图像为横条纹图像,否则,识别出预览图像不为横条纹图像;当第一和值为O且第二和值大于第五预设阈值时,识别出预览图像为横条纹图像,否则,识别出预览图像不为横条纹图像。
[0201]本发明实施例的移动终端,通过处理器1060获取摄像头1051采集到的预览图像,对得到的预览图像进行二值化处理,获取中间图像,进而来确定中间图像中的灰度值变化信息,根据确定的灰度值变化信息,来识别当前图像是否为横条纹图像。通过简单的处理,可快速检测出当前图像是否为横条纹图像,最大限度地提高时间效率并降低功耗,解决了相位检测自动对焦的传感器无法对横条纹图像进行识别,导致不能对横条纹的场景进行对焦的问题。
[0202]本领域普通技术人员可以意识到,结合本发明实施例中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。
[0203]所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
[0204]在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
[0205]所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
[0206]另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
[0207]所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、R0M、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
[0208]以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。
【主权项】
1.一种基于移动终端的横条纹图像识别方法,所述移动终端包括摄像头,其特征在于,所述方法包括: 获取所述摄像头采集的一帧预览图像; 对所述预览图像的每个像素点进行二值化处理,生成中间图像; 根据所述中间图像,确定所述中间图像中像素点的灰度值变化信息; 根据所述中间图像中像素点的灰度值变化信息,识别所述预览图像是否为横条纹图像。2.根据权利要求1所述的方法,其特征在于,所述对所述预览图像的每个像素点进行二值化处理,生成中间图像的步骤,包括: 对于所述预览图像的每个像素点,将所述像素点的灰度值与第一预设阈值进行比较;当所述像素点的灰度值大于或等于所述第一预设阈值时,将所述像素点的灰度值重置为 255; 当所述像素点的灰度值小于所述第一预设阈值时,将所述像素点的灰度值重置为O; 当所述预览图像的每个像素点均被重置后,生成中间图像。3.根据权利要求1所述的方法,其特征在于,所述根据所述中间图像,确定所述中间图像中像素点的灰度值变化信息的步骤,包括: 获取所述中间图像的像素总宽度值W和像素总行数值H; 通过随机函数得到I?W范围内随机生成的M个整数; 将所述M个整数按照递增顺序进行排列,得到M个递增的整数Ν^Ν^Νμ; 在所述中间图像中选取第N1列到第Nm列的M列像素点作为M列采样像素点; 获取所述M列采样像素点的每个采样像素点的灰度值; 对于M列采样像素点中每一列采样像素点,依据从第I行到第H行的顺序比较相邻采样像素点的灰度值,统计每一列采样像素点的灰度值发生变化的行数,得到M个数列A1J2---Am; 其中,所述M个数列Α^Α^Αμ中,每个数列的元素为该列采样像素点的灰度值发生变化的行数,M取值范围为10 5 Mg 20。4.根据权利要求3所述的方法,其特征在于,所述根据所述中间图像中像素点的灰度值变化信息,识别所述预览图像是否为横条纹图像的步骤,包括: 将所述M个数列A1、Α2...Αμ的相邻两个数列的元素个数依次进行比较; 当所述M个数列A^AvAm中至少有一对相邻两个数列的元素个数的差值大于第二预设阈值时,识别出所述预览图像不为横条纹图像。5.根据权利要求4所述的方法,其特征在于,所述根据所述中间图像中像素点的灰度值变化信息,识别所述预览图像是否为横条纹图像的步骤,包括: 当所述M个数列A^AvAm中所有相邻两个数列的元素个数的差值均小于或等于第二预设阈值时,对于所述M个数列Α^Α^Αμ,依次求取每列的元素个数与数列^的元素个数之间的差值,并记录为Cl、C2...Cm; 当C1Xr-CM相等时,对于所述M列采样像素点中的每一行采样像素点进行判断是否通过插值可得到一条水平直线; 当根据所述M列采样像素点中的每一行采样像素点通过插值可得到一条水平直线时,识别出所述预览图像为横条纹图像。6.根据权利要求5所述的方法,其特征在于,所述根据所述中间图像中像素点的灰度值变化信息,识别所述预览图像是否为横条纹图像的步骤,包括: 当C1、C2.._Cm依次递增或者递减时,依次选取Ai的第i个元素,A2的第i+ I C2-Ci |个元素,...以及Am的第i+ I Cm-Ci |个兀素,并记录为Ει、Ε2...Εμ; 以所述中间图像的左上角顶点为坐标原点建立直角坐标系; 根据所述M个数列Al、A2...AM和El、E2...EM,确定El、E2...EM中每个兀素对应的所述中间图像中的M个采样像素点的横纵坐标值; 根据所述M个采样像素点的横纵坐标值,通过插值得到一条倾斜直线; 根据所述M个采样像素点的横纵坐标值和倾斜直线,识别所述预览图像是否为横条纹图像。7.根据权利要求6所述的方法,其特征在于,所述根据所述M个采样像素点的横纵坐标值和倾斜直线,识别所述预览图像是否为横条纹图像的步骤,包括: 对于所述M个采样像素点中的每个采样像素点,根据每个采样像素点的横纵坐标值,计算每个采样像素点到所述倾斜直线之间的距离; 当所述M个采样像素点中的所有采样像素点到所述倾斜直线之间的距离均小于第三预设阈值时,识别出所述预览图像为横条纹图像; 当所述M个采样像素点中的至少有一个采样像素点到所述倾斜直线之间的距离大于或等于第三预设阈值时,识别出所述预览图像不为横条纹图像。8.根据权利要求1所述的方法,其特征在于,所述根据所述中间图像,确定所述中间图像中像素点的灰度值变化信息的步骤,包括: 对于所述中间图像预设图像区域的每个像素点,分别计算所述像素点的行方向上的第一参考值和列方向上的第二参考值; 将所述中间图像预设图像区域的所有像素点的行方向上的所述第一参考值均取绝对值,然后进行求和运算,得到第一和值; 将所述中间图像预设图像区域的所有像素点的列方向上的所述第二参考值均取绝对值,然后进行求和运算,得到第二和值。9.根据权利要求8所述的方法,其特征在于,所述分别计算所述像素点的行方向上的第一参考值和列方向上的第二参考值的步骤,包括: 根据公式Kr?=2XY-Yl-Yr计算所述像素点的行方向上的第一参考值,其中,Kr?为所述像素点的行方向上的第一参考值,Y为所述像素点的灰度值,Yl为所述像素点的左侧与所述像素点相邻的像素点的灰度值,Yr为所述像素点的右侧与所述像素点相邻的像素点的灰度值; 根据公式KLine = 2XY-Yu-YD计算所述像素点的列方向上的第二参考值,其中,KLine为所述像素点的列方向上的第二参考值,Y为所述像素点的灰度值,Yu为所述像素点的上侧与所述像素点相邻的像素点的灰度值,Yd为所述像素点的下侧与所述像素点相邻的像素点的灰度值。10.根据权利要求9所述的方法,其特征在于,所述根据所述中间图像中像素点的灰度值变化信息,识别所述预览图像是否为横条纹图像的步骤,包括: 当所述第一和值不为O时,计算所述第二和值与所述第一和值的比值,当所述第二和值与所述第一和值的比值大于第四预设阈值时,识别出所述预览图像为横条纹图像,否则,识别出所述预览图像不为横条纹图像; 当所述第一和值为O且所述第二和值大于第五预设阈值时,识别出所述预览图像为横条纹图像,否则,识别出所述预览图像不为横条纹图像。11.一种移动终端,包括摄像头,其特征在于,所述移动终端还包括: 图像获取模块,用于获取所述摄像头采集的一帧预览图像; 图像处理模块,用于对所述图像获取模块获取的预览图像的每个像素点进行二值化处理,生成中间图像; 确定模块,用于根据所述图像处理模块生成的中间图像,确定所述中间图像中像素点的灰度值变化信息; 图像识别模块,用于根据所述确定模块确定的所述中间图像中像素点的灰度值变化信息,识别所述预览图像是否为横条纹图像。12.根据权利要求11所述的移动终端,其特征在于,所述图像处理模块包括: 第一比较子模块,用于对于所述预览图像的每个像素点,将所述像素点的灰度值与第一预设阈值进行比较; 第一重置子模块,用于当所述第一比较子模块的比较结果为所述像素点的灰度值大于或等于所述第一预设阈值时,将所述像素点的灰度值重置为255; 第二重置子模块,用于当所述第一比较子模块的比较结果为所述像素点的灰度值小于所述第一预设阈值时,将所述像素点的灰度值重置为O; 第一生成子模块,用于当所述第一重置子模块、所述第二重置子模块对所述预览图像的每个像素点均重置后,生成中间图像。13.根据权利要求11所述的移动终端,其特征在于,所述确定模块包括: 第一获取子模块,用于获取所述中间图像的像素总宽度值W和像素总行数值H; 第二生成子模块,用于根据所述第一获取子模块获取的所述中间图像的像素总宽度值W,通过随机函数得到I?W范围内随机生成的M个整数; 排列子模块,用于根据所述第二生成子模块生成的M个整数,将所述M个整数按照递增顺序进行排列,得到M个递增的整数ΙΝ^Νμ; 选取子模块,用于根据所述排列子模块得到的M个递增的整数Nm,在所述中间图像中选取第N1列到第Nm列的M列像素点作为M列采样像素点; 第二获取子模块,用于获取所述选取子模块获取的M列采样像素点的每个采样像素点的灰度值; 统计子模块,用于根据所述第二获取子模块获取的M列采样像素点的每个采样像素点的灰度值,对于M列采样像素点中每一列采样像素点,依据从第I行到第H行的顺序比较相邻采样像素点的灰度值,统计每一列采样像素点的灰度值发生变化的行数,得到M个数列Α2...Αμ; 其中,所述M个数列Α^Α^Αμ中,每个数列的元素为该列采样像素点的灰度值发生变化的行数,M取值范围为10 5 Mg 20。14.根据权利要求13所述的移动终端,其特征在于,所述图像识别模块包括: 第二比较子模块,用于将所述M个数列A1Jr-AM的相邻两个数列的元素个数依次进行比较; 第一识别子模块,用于当所述第二比较子模块的比较结果为所述M个数列A1JdM中至少有一对相邻两个数列的元素个数的差值大于第二预设阈值时,识别出所述预览图像不为横条纹图像。15.根据权利要求14所述的移动终端,其特征在于,所述图像识别模块还包括: 获取记录子模块,用于当所述第二比较子模块的比较结果为所述M个数列A1JdM中所有相邻两个数列的元素个数的差值均小于或等于第二预设阈值时,对于所述M个数列Α2...Αμ,依次求取每列的元素个数与数列^的元素个数之间的差值,并记录为&、&...Cm; 判断子模块,用于当所述获取记录子模块中的C1X^Cm相等时,对于所述M列采样像素点中的每一行采样像素点进行判断是否通过插值可得到一条水平直线; 第二识别子模块,用于当所述判断子模块的判断结果为所述M列采样像素点中的每一行采样像素点通过插值可得到一条水平直线时,识别出所述预览图像为横条纹图像。16.根据权利要求15所述的移动终端,其特征在于,所述图像识别模块还包括: 选取记录子模块,用于当所述获取记录子模块中的C1、Cr-CM依次递增或者递减时,依次选取A1的第i个元素,A2的第i+ I C2-Ci I个元素,...以及Am的第i+ | Cm-C1 |个元素,并记录为Ει、Ε2.._Εμ; 建立子模块,用于以所述中间图像的左上角顶点为坐标原点建立直角坐标系; 确定子模块,用于根据所述M个数列A1、Α2...Αμ和E1、Ε2...Εμ,在所述建立子模块建立的直角坐标系中确定E^Er-EM中每个元素对应的所述中间图像中的M个采样像素点的横纵坐标值; 处理子模块,用于根据所述确定子模块中确定的所述M个采样像素点的横纵坐标值,通过插值得到一条倾斜直线; 第三识别子模块,用于根据所述确定子模块中确定的所述M个采样像素点的横纵坐标值和所述处理子模块中得到的倾斜直线,识别所述预览图像是否为横条纹图像。17.根据权利要求16所述的移动终端,其特征在于,所述第三识别子模块包括: 计算单元,用于对于所述M个采样像素点中的每个采样像素点,根据每个采样像素点的横纵坐标值,计算每个采样像素点到所述倾斜直线之间的距离; 第一识别单元,用于当所述计算单元中计算的所述M个采样像素点中的所有采样像素点到所述倾斜直线之间的距离均小于第三预设阈值时,识别出所述预览图像为横条纹图像; 第二识别单元,用于当所述计算单元中计算的所述M个采样像素点中的至少有一个采样像素点到所述倾斜直线之间的距离大于或等于第三预设阈值时,识别出所述预览图像不为横条纹图像。18.根据权利要求11所述的移动终端,其特征在于,所述确定模块包括: 第一计算子模块,用于对于所述中间图像预设图像区域的每个像素点,分别计算所述像素点的行方向上的第一参考值和列方向上的第二参考值; 第二计算子模块,用于将所述中间图像预设图像区域的所有像素点的行方向上的所述第一参考值均取绝对值,然后进行求和运算,得到第一和值; 第三计算子模块,用于将所述中间图像预设图像区域的所有像素点的列方向上的所述第二参考值均取绝对值,然后进行求和运算,得到第二和值。19.根据权利要求18所述的移动终端,其特征在于,所述第一计算子模块包括: 第一计算单元,用于根据公式Kr?=2 X Y-Yl-Yr计算所述像素点的行方向上的第一参考值,其中,Kr?为所述像素点的行方向上的第一参考值,Y为所述像素点的灰度值,Yl为所述像素点的左侧与所述像素点相邻的像素点的灰度值,Yr为所述像素点的右侧与所述像素点相邻的像素点的灰度值; 第二计算单元,用于根据公式KLine = 2XY-Yu-YD计算所述像素点的列方向上的第二参考值,其中,Kune3为所述像素点的列方向上的第二参考值,Y为所述像素点的灰度值,Yu为所述像素点的上侧与所述像素点相邻的像素点的灰度值,Yd为所述像素点的下侧与所述像素点相邻的像素点的灰度值。20.根据权利要求19所述的移动终端,其特征在于,所述图像识别模块包括: 第四识别子模块,用于当所述第二计算子模块中计算的所述第一和值不为O时,计算所述第三计算子模块计算出的所述第二和值与所述第一和值的比值,当所述第二和值与所述第一和值的比值大于第四预设阈值时,识别出所述预览图像为横条纹图像,否则,识别出所述预览图像不为横条纹图像; 第五识别子模块,用于当所述第二计算子模块中计算的所述第一和值为O且所述第三计算子模块计算出的所述第二和值大于第五预设阈值时,识别出所述预览图像为横条纹图像,否则,识别出所述预览图像不为横条纹图像。
【文档编号】G06K9/46GK105868771SQ201610169945
【公开日】2016年8月17日
【申请日】2016年3月22日
【发明人】胡鹏翔, 万美君
【申请人】维沃移动通信有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1