CN107464251A - 一种图像的黑边检测方法及装置 - Google Patents
一种图像的黑边检测方法及装置 Download PDFInfo
- Publication number
- CN107464251A CN107464251A CN201610392629.4A CN201610392629A CN107464251A CN 107464251 A CN107464251 A CN 107464251A CN 201610392629 A CN201610392629 A CN 201610392629A CN 107464251 A CN107464251 A CN 107464251A
- Authority
- CN
- China
- Prior art keywords
- black
- pixel
- row
- column
- described image
- 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.)
- Pending
Links
Classifications
-
- 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/10004—Still image; Photographic image
Landscapes
- Image Analysis (AREA)
Abstract
本发明实施例公开了一种图像的黑边检测方法及装置,涉及图像处理领域,用以降低现有技术中黑边检测结果不准确的几率。该方法包括:获取一帧图像中像素点的亮度表征值,以得到所述图像的亮度阵列;统计所述图像的亮度阵列的多行中每行的第一点数以及多列中每列的第二点数,其中,所述第一点数为一行中满足第一条件的像素的点数,所述第一条件为若要确定一像素点为黑像素点或非黑像素点的条件,所述第二点数为一列中满足第二条件的像素的点数,所述第二条件为若要确定一像素点为黑像素点或非黑像素点的条件;根据所述多行中每行的第一点数和所述多列中每列的第二点数,确定所述图像的黑边边界。
Description
技术领域
本发明涉及图像处理领域,尤其涉及一种图像的黑边检测方法及装置。
背景技术
黑边为图像中除正常的原摄影画面(有效显示画面)外,在原摄影画面四周多出的黑色部分。黑边常常存在于视频图像中,通常是由于原始画面与显示画面的尺寸规格不同,在转换后造成的,且黑边在视频图像中的位置可能不同。
目前多媒体影像制定了几个基准画面尺寸,包括标准(Standard)类型、宽屏幕(Vista)类型、电影宽屏幕(Cinema Scope)类型。其中,标准类型的长宽比是4∶3,宽屏幕类型的长宽比是16∶9,电影宽屏幕类型的长宽比更大些。如图1所示,在将宽屏幕与电影宽屏幕的影像转成标准尺寸时,上下会出现黑边。如图2所示,将标准尺寸转换成其他尺寸(主要是宽屏幕尺寸)的图像时左右会出现黑边。此外,参考图3有时会经画面转换,在图像的上下左右都有黑边。
具体而言,对于因图像缩放处理引起的视频图像,参考图1和图2,在该视频图像的上下或左右可能存在黑边。对于视频监控场景的图像,参考图3在该图像的上下、左右可能存在黑边。
目前最常用简便的黑边检测方法是:比较视频图像边沿每行或每列的像素值,当像素值超过某个阈值时,则认为是非黑色像素点;统计每行或每列的非黑色像素点的个数,当非黑色像素点的个数小于某一阈值时则认为该行或该列属于黑边,否则认为属于非黑边。一旦像素值的阈值设定不当(过高或过低),就可能导致非黑色像素点的判定不准确,进而导致黑边检测的结果不准确。
发明内容
本发明的实施例提供一种图像的黑边检测方法及装置,用以降低现有技术中黑边检测结果不准确的几率。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明实施例提供了一种图像的黑边检测方法,包括:
获取一帧图像中像素点的亮度表征值,以得到所述图像的亮度阵列;
统计所述图像的亮度阵列的多行中每行的第一点数以及多列中每列的第二点数,其中,所述第一点数为一行中满足第一条件的像素的点数,所述第一条件为若要确定一像素点为黑像素点或非黑像素点,则该像素点的亮度表征值和第一阈值的大小关系、以及该像素点与该像素点所在行的一个其他像素点的亮度表征值之差和第二阈值的大小关系均要满足的条件,所述第二点数为一列中满足第二条件的像素的点数,所述第二条件为若要确定一像素点为黑像素点或非黑像素点,则该像素点的亮度表征值和第三阈值的大小关系、以及该像素点与该像素点所在列的一个其他像素点的亮度表征值之差和第四阈值的大小关系均要满足的条件;
根据所述多行中每行的第一点数和所述多列中每列的第二点数,确定所述图像的黑边边界。
第二方面,本发明实施例提供了一种图像的黑边检测装置,包括:
获取单元,用于获取一帧图像中像素点的亮度表征值,以得到所述图像的亮度阵列;
统计单元,用于统计所述图像的亮度阵列的多行中每行的第一点数以及多列中每列的第二点数,其中,所述第一点数为一行中满足第一条件的像素的点数,所述第一条件为若要确定一像素点为黑像素点或非黑像素点,则该像素点的亮度表征值和第一阈值的大小关系、以及该像素点与该像素点所在行的一个其他像素点的亮度表征值之差和第二阈值的大小关系均要满足的条件,所述第二点数为一列中满足第二条件的像素的点数,所述第二条件为若要确定一像素点为黑像素点或非黑像素点,则该像素点的亮度表征值和第三阈值的大小关系、以及该像素点与该像素点所在列的一个其他像素点的亮度表征值之差和第四阈值的大小关系均要满足的条件;
确定单元,用于根据所述多行中每行的第一点数和所述多列中每列的第二点数,确定所述图像的黑边边界。
本发明实施例提供了一种图像的黑边检测方法及装置,在像素点的亮度表征值和两像素点的亮度表征值之差均满足一定条件的前提下,方可确定一像素点是黑像素点、或非黑像素点;也就是说,通过两个条件来判断一像素点是否是黑像素点,相比于现有技术而言,增加了一个判断条件,从而在一定程度上能够降低像素点误判的几率,进一步的,降低现有技术中黑边检测结果不准确的几率。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种带黑边的图像的示意图;
图2为本发明实施例提供的又一种带黑边的图像的示意图;
图3为本发明实施例提供的再一种带黑边的图像的示意图;
图4为本发明实施例提供的一帧图像的规格参数、以及在该图像中多个像素点的位置示意图;
图5为本发明实施例提供的一种图像的黑边检测方法的流程图;
图6为本发明实施例提供的一种图像的黑边检测方法的确定黑边上边界值和黑边下边界值的流程图;
图7为本发明实施例提供的一种图像的黑边检测方法的确定黑边左边界值和黑边右边界值的流程图;
图8为本发明实施例提供的一种图像的黑边检测装置的框图;
图9为本发明实施例提供的又一种图像的黑边检测装置的框图;
图10为本发明实施例提供的再一种图像的黑边检测装置的框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
为了便于清楚描述本发明实施例的技术方案,在本发明的实施例中,采用了“第一”、“第二”等字样对功能和作用基本相同的相同项或相似项进行区分,本领域技术人员可以理解“第一”、“第二”等字样并不对数量和执行次序进行限定。
本发明实施例的工作原理在于,在像素点的亮度表征值和两像素点的亮度表征值之差均满足一定条件的前提下,方可确定一像素点是黑像素点、或非黑像素点;也就是说,通过两个条件来判断一像素点是否是黑像素点,相比于现有技术而言,增加了一个判断条件,从而在一定程度上能够降低像素点误判的几率,进一步的,降低现有技术中黑边检测结果不准确的几率。
下面,将详细描述本发明实施例提供的图像的黑边检测方法。
实施例一
本实施例中需要检测一图像的黑边,参考图4所示,首先了解图像的有关概念和参数。构成图像的基本单位是像素点,为方便说明,图示中水平方向上的一排像素点称为一行像素点,竖直方向上的一排像素点称为一列像素点。该图像包含的行数记为height,表示每一列像素点包含的像素点数;该图像包含的列数记为width,表示每一行像素点包含的像素点数。该图像中的任一像素点记为Px(i,j),其中0≤i≤height-1,0≤j≤width-1。举例而言,行0表示第1行像素点,列1表示第2列像素点。
基于图4所示的图像,参考图5,本实施例提供的一种图像的黑边检测方法,该方法各步骤的执行主体可以是图像的黑边检测装置,该装置可单独设置,也可以设置于显示器或主机中,在此不做限定。该图像的黑边检测方法包括:
S101、获取一帧图像中像素点的亮度表征值,以得到该图像的亮度阵列。
该一帧图像的规格参数可以参考图4,该图像既可以是一静态图像、例如相片,也可以是视频图像中的一帧。由于黑边在视频图像(包括电影、纪录片等)中更为常见些,因而本实施例提供的方法可广泛应用于视频图像的处理过程中。
对于一帧图像而言,通常任一像素点Px(i,j)具有三原色分量,例如:红色分量R(i,j)、绿色分量G(i,j)、以及蓝色分量B(i,j)。可选的,本实施例中该像素点的亮度表征值记为Luma(i,j),可以是三原色分量中的最大值,用公式表达为:
Luma(i,j)=MAX(R(i,j),G(i,j),B(i,j))。
当然,Luma(i,j)也可以是三原色分量的平均值等,只要可表征一像素点亮度即可。
需要说明的是,上述是以RGB三分量为例而说明的,事实上,即便三原色分量不是RGB,例如可以是CMY(青、品红、黄),此时也仍可取三原色分量的最大值作为亮度表征值。另外,若该像素点Px(i,j)还有第四个分量,例如白色分量W(i,j),此时可以取三原色分量的最大值作为亮度表征值,还可以取四个色彩分量的最大值作为亮度表征值。
由于颜色编码方式除了上述的RGB方式,还可以采用YUV方式,其中″Y″表示亮度(Luminance或Luma),也就是灰阶值,而″U″和″V″则表示的是色度(Chrominance或Chroma);因此像素点Px(i,j)的亮度表征值可以是该像素点的Y值,即Luma(i,j)=Y(i,j)。
YUV格式和RGB格式存在转换关系。上述的像素点Px(i,j)的Y值,Y(i,j)=a*R(i,j)+β*G(i,j)+γ*B(i,j),一般而言,α等于0.299,β等于0.587,γ等于0.114,α+β+γ=1。当然,根据实际精度需要,今α等于0.30,β等于0.59,γ等于0.11,也是可以的。
S102、统计图像的亮度阵列的多行中每行的第一点数以及多列中每列的第二点数。
在本实施例中,为了清楚描述,以1024*768的图像为例,该图像为768行,其行标号分别记为{0,1,2,...,i...,767};该图像为1024列,其列标号分别记为{0,1,2,...,j...,1023}。也可以为其他分辨率的图像,例如640*480,768*576等。下面基于此例,分别对第一点数和第二点数的统计方法进行详细描述。
统计第一点数
为了检测图像的上黑边和下黑边,需要统计亮度阵列的多行中每行的第一点数。而这里的多行可以是亮度阵列的所有行,即各行行标号为{0,1,2,...,i...,767}。多行还可以是根据需要从所有行中选择出的一部分,统计这一部分行中每行的第一点数。可选的,多行可以包括:从第1行起的连续s1行,以及从第768行起的连续s2行,其中,s1与s2之和小于768。例如:可以将图像的所有行分为N份,这里的多行为最上方的一份和最下方的一份中的各行;具体的,可以统计行标号为{0,1,2,...,i...,767/N-1}的各行中每行的第一点数,以检测上黑边;可以统计行标号为{767*(N-1)/N,767*(N-1)/N+1,...,i...,767}的各行中每行的第一点数,以检测下黑边。需要说明的是,其中N为大于或等于3的正整数,具体值本领域技术人员可以根据实际需要设定,以可检测出上下黑边为准,若767/N为非正整数,则可以向上取整,或向下取整,此处不做限制。
所谓第一点数是指一行中满足第一条件的像素的点数。以统计行i(行标号为i,表示第i+1行)的第一点数为例,可选的,第一条件为若要确定一像素点Px(i,j)(Px(i,j)为行i中的任一个像素点)为黑像素点,则该像素点Px(i,j)的亮度表征值Luma(i,j)和第一阈值的大小关系、以及该像素点Px(i,j)与该像素点所在行(行i)的一个其他像素点Px(i,k)(k不等于j)的亮度表征值之差(即Luma(i,j)与Luma(i,k)之差)和第二阈值的大小关系均要满足的条件。其中,为简化第二阈值的设定,这里的Luma(i,j)与Luma(i,k)之差可以取正值,相应的第二阈值也为正数。
本领域技术人员能够了解,上述确定为黑像素点的第一条件具体为:Luma(i,j)小于或小于等于第一阈值,并且Luma(i,j)与Luma(i,k)之差小于或小于等于第二阈值。
优选的,该像素点Px(i,j)所在行(行i)的一个其他像素点Px(i,k)具体为,在该像素点所在行(行i)内该像素点Px(i,j)的相邻像素点,例如,如图4所示可以为下一个像素点Px(i,j+1),或者前一个像素点Px(i,j-1),此处不做限制。
示例性的,计算该像素点Px(i,j)与该像素点所在行(行i)内的下一个像素点Px(i,j+1)的亮度表征值之差,记为dif_h(i,j),即:
dif_h(i,j)=|Luma(i,j)-Luma(i,j+1)|
确定一像素点Px(i,j)为黑像素点的第一条件,记为condition_h(i,j),即:
condition_h(i,j)=Luma(i,j)<TH_0&&dif_h(i,j)<TH_1
统计行i中满足上述第一条件的黑像素点的个数,记为num_v(i)。即:
其中,TH_0为第一阈值,TH_1为第二阈值,第一阈值、第二阈值此处不限定大小,本领域技术人员可以设置为一经验值,或者可以根据图像的分辨率等参数做调整等。对于行i中的最后一个像素点Px(i,width-1)而言,无法按照上述方法求取dif_h(i,j),从而该像素点可被认为不能满足第一条件。当然,也可为Px(i,width-1)设置一比较值,以便与Px(i,width-1)的亮度表征值做差,进而可以使用上述方法判定Px(i,width-1)是否满足第一条件;该比较值可以是预设一定值,也可以是图像中的某个像素点的亮度表征值。另外,第一条件可改成condition_h(i,j)=Luma(i,j)≤TH_0&&dif_h(i,j)≤TH_1作为判定一像素点Px(i,j)为黑像素点的第一条件。
可选的,第一条件为若要确定一像素点Px(i,j)为非黑像素点,则该像素点Px(i,j)的亮度表征值Luma(i,j)和第一阈值的大小关系、该像素点Px(i,j)与该像素点所在行(行i)的一个其他像素点Px(i,k)(k不等于j)的亮度表征值之差(即Luma(i,j)与Luma(i,k)之差)和第二阈值的大小关系均要满足的条件。
本领域技术人员能够了解,上述确定为非黑像素点的第一条件具体为:Luma(i,j)大于或大于等于第一阈值,并且Luma(i,j)与Luma(i,k)之差大于或大于等于第二阈值,同样的,Luma(i,j)与Luma(i,k)之差优选取正值,相应的第二阈值为正数。
优选的,像素点Px(i,k)具体为,在行i内像素点Px(i,j)的相邻像素点,例如,如图4所示可以为下一个像素点Px(i,j+1),或者前一个像素点Px(i,j-1),此处不做限制。
示例性的,计算像该素点Px(i,j)与该像素点Px(i,j)所在行(行i)内的下一个像素点Px(i,j+1)的亮度表征值之差为:
dif_h(i,j)=|Luma(i,j)-Luma(i,j+1)|
确定像素点Px(i,j)为非黑像素点的第一条件为:
condition_h(i,j)=Luma(i,j)>TH_0&&dif_h(i,j)>TH_1
统计行i中满足上述第一条件的非黑像素点的个数,记为num_v(i),即:
其中,TH_0为第一阈值,TH_1为第二阈值,并对其大小不做限定。另外,第一条件可改成condition_h(i,j)=Luma(i,j)之TH_0&&dif_h(i,j)之TH_1作为判定一像素点为非黑像素点的第一条件。
统计第二点数
为了检测图像的左黑边和右黑边,需要统计亮度阵列的多列中每列的第二点数。而这里的多列类似于上述多行的描述,可以是亮度阵列的所有列,即{0,1,2,...,j...,1023}。多列还可以是根据需要从所有列中选择出的一部分,统计这一部分列中每列的第二点数。可选的,多列可以包括:从第1列其的连续s3列,以及从第1024列起的连续s4列,其中,s3和s4之和小于1024。例如:可以统计列标号为{0,1,2,...,j...,1024/M-1}的各列中每列的第二点数,以检测左黑边;也可以统计列标号为{1024*(M-1)/M,1024*(M-1)/M+1,...,j...,1023}的各列中每列的第二点数,以检测右黑边。需要说明,其中M为大于或等于3的正整数,若1024/M为非正整数,则可以向上取整,或向下取整,此处不做限制。
所谓第二点数是指一列中满足第二条件的像素的点数。以统计列i(列标号为i,表示第i+1列)的第二点数为例,可选的,第二条件为若要确定一像素点Px(i,j)(Px(i,j)为列j中的任一个像素点)为黑像素点,则该像素点Px(i,j)的亮度表征值Luma(i,j)和第三阈值的大小关系、以及该像素点Px(i,j)与该像素点所在列(列j)的一个其他像素点Px(k,j)(k不等于i)的亮度表征值之差(即Luma(i,j)与Luma(k,j)之差)和第四阈值的大小关系均要满足的条件。优选的,Luma(i,j)与Luma(k,j)之差取正值,第四阈值为正数。
本领域技术人员能够了解,上述确定为黑像素点的第二条件具体为:Px(i,j)的亮度表征值Luma(i,j)小于或小于等于第三阈值,并且Luma(i,j)与Luma(k,j)之差小于或小于等于第四阈值。
优选的,像素点Px(k,j)具体为,在该像素点Px(i,j)所在列(列j)内该像素点Px(i,j)的相邻像素点,例如,如图4所示可以为下一个像素点Px(i+1,j),或者前一个像素点Px(i-1,j),此处不做限制。
示例性的,计算像该素点Px(i,j)与该像素点所在列(列j)内的下一个像素点Px(i+1,j)的亮度表征值之差,记为dif_v(i,j),即:
dif_v(i,j)=|Luma(i,j)-Luma(i+1,j)|
确定像素点Px(i,j)为黑像素点的第二条件,记为condition_v(i,j),即:
condition_v(i,j)=Luma(i,j)<TH_2&&dif_v(i,j)>TH_3
统计列j中满足上述第二条件的黑像素点的个数,记为num_h(j),即:
其中,TH_2为第三阈值,TH_3为第四阈值,并对其大小不做限定。对于列j中的最后一个像素点Px(height-1,j)而言,无法按照上述方法求取dif_v(i,j),从而该像素点可被认为不能满足第二条件。当然,也可为Px(height-1,j)设置一比较值,以便与Px(height-1,j)的亮度表征值做差,进而可以使用上述方法判定Px(height-1,j)是否满足第二条件;该比较值可以是预设一定值,也可以是图像中的某个像素点的亮度表征值。另外,第二条件可改成condition_v(i,j)=Luma(i,j)≤TH_2&&dif_v(i,j)≤TH_3作为判定像素点Px(i,j)为黑像素点的第二条件。
可选的,第二条件为若要确定一像素点Px(i,j)为非黑像素点,则该像素点Px(i,j)的亮度表征值Luma(i,j)和第三阈值的大小关系、以及该像素点Px(i,j)与该像素点所在列(列j)的一个其他像素点Px(k,j)(k不等于i)的亮度表征值之差(即Luma(i,j)与Luma(k,j)之差)第四阈值的大小关系均要满足的条件。
本领域技术人员能够了解,上述确定为非黑像素点的第二条件具体为:Luma(i,j)大于或大于等于第三阈值,并且Luma(i,j)与Luma(k,j)之差大于或大于等于第四阈值。
优选的,像素点Px(k,j)具体为,在列j内该像素点Px(i,j)的相邻像素点,例如,如图4所示可以为下一个像素点Px(i+1,j),或者前一个像素点Px(i-1,j),此处不做限制。
示例性的,计算像该素点Px(i,j)与列j内的下一个像素点Px(i+1,j)的亮度表征值之差:
dif_v(i,j)=|Luma(i,j)-Luma(i+1,j)|
确定像素点Px(i,j)为非黑像素点的第二条件为:
condition_v(i,j)=Luma(i,j)>TH_2&&dif_v(i,j)>TH_3
统计列j中满足上述第二条件的非黑像素点的个数,记为num_h(j),即:
其中,TH_2为第三阈值,TH_3为第四阈值,并对其大小不做限定。另外,第二条件可改成condition_v(i,j)=Luma(i,j)≥TH_2&&dif_v(i,j)≥TH_3作为判定像素点Px(i,j)为非黑像素点的第二条件。
本领域技术人员可以理解,上述第一、第三阈值可以不同,本实施例中优选为相同;上述第二、第四阈值可以相同,可以不同,此处不做限定。
S103、根据所述多行中每行的第一点数和所述多列中每列的第二点数,确定所述图像的黑边边界。
所谓黑边边界是图像中黑边区域和非黑边区域的分界线,该分界线可以属于黑边区域、也可属于非黑边区域。黑边边界一旦确定,那么黑边区域和非黑边区域自然也就清楚了。本实施例中,用黑边边界值表明黑边边界的位置,示例的该黑边边界值为行标号和/或列标号。
由于图像中可能有上、下、左、右四个方位的黑边,因此为了清楚描述,将图像最终的黑边上边界值、黑边下边界值、黑边左边界值、黑边右边界值记为top、bottom、left、right,将本步骤S103得到的黑边上边界值、黑边下边界值、黑边左边界值、黑边右边界值记为top1、bottom1、left1、right1。在此需要说明的是,若在步骤S103之后没有其他步骤,则top1、bottom1、left1、right1可作为最终的黑边边界值。
示例的,在此步骤之前已经获知多行中每行的第一点数和多列中每列的第二点数,此步骤可以延续现有技术中黑边检测的方法,如本申请中背景技术中提到的黑边检测方法,或其他现有技术中黑边检测的方法。下面详细描述本实施例提供的方法。
确定黑边上边界值和黑边下边界值
在本实施例中,此步骤可以包括:根据步骤S102多行中每行的第一点数确定图像的黑边上边界值和黑边下边界值。具体可以包括:根据每行的第一点数和第五阈值确定该行是黑像素行、还是非黑像素行,将多行中非黑像素行的最小行数、或该最小行数减1确定为图像的黑边上边界值,将多行中非黑像素行的最大行数、或该最大行数加1确定为图像的黑边下边界值。
分情况而言,若每行的第一点数是每行中黑像素点的点数,则优选的,根据每行的第一点数和第五阈值确定该行是黑像素行,还是非黑像素行,具体为:判断num_v(i)与NUM_TH_0的大小关系,若num_v(i)大于或大于等于NUM_TH_0,则意味着是黑像素行,若num_v(i)小于等于或小于NUM_TH_0,则意味着是非黑像素行。需要说明的是,NUM_TH_0为第五阈值,此处不限定其大小,本领域技术人员可以将其设置为一经验值,或根据不同的图像的分辨率可做调整等。
之后,不符合num_v(i)>NUM_TH_0或num_v(i)≥NUM_TH_0的最小值i(即不是黑像素行的最小行数)即为min_i为上黑边边界值top1,最大值i(即不是黑像素行的最大行数)即为max_i为下黑边边界值bottom1,此时可以认为该边界属于非黑边区域。当然,本领域技术人员可以理解,我们也可以用不符合num_v(i)>NUM_TH_0或num_v(i)≥NUM_TH_0的最小值i-1为上黑边边界值top1,最大值i+1为下黑边边界值bottom1,此时可以认为该边界属于黑边区域。
示例的,以num_v(i)>NUM_TH_0为黑像素行为例,优选的方案为:
步骤(1)将行标志位初始化为第一标识。
这里的行标志位用于判断是给top1赋值还是给bottom1赋值,用first_flag表示。第一标识只要和后续的第二标识不同即可,在本发明中不限定其具体值,示例的,可以为1。
例如,如图6中S11所示对i、first_flag、top1、bottom1初始化,具体为:将i赋值成0(表示要从第一行开始判定),将first_flag赋值成1,将top1赋值成height/2,将bottom1赋值成height/2。说明此处的top1、bottom1初始化赋值height/2可能不是整数,那么我们可以向上取整或向下取整,也可以将top1、bottom1初始化赋值为0,1,...height-1其中任意值。
步骤(2)按照所述多行排列的顺序,从第一行起依次根据一行的第一点数和第五阈值确定该行是否是黑像素行;若该行是黑像素行,则确定下一行是否是黑像素行。
例如,参考图6中S12先判断i是否小于height,若不小于,则结束;若小于,则执行S13,判断num_v(i)是否大于NUM_TH_0,若大于表示是黑像素行,然后执行S17,将i加1,确定下一行是否是黑像素行。
步骤(3)若该行是非黑像素行,则在所述行标志位为第一标识的情况下,将当前行的行数确定为所述图像的黑边上边界值,并将所述行标志位设置为第二标识,且确定下一行是否是黑像素行,在行标志位不为第一标识的情况下,将当前行的行数确定为所述图像的黑边下边界值,并确定下一行是否是黑像素行。
这里的第二标识只要与前面的第一标识不同即可,示例的,可以为0。
例如,若图6的S13中num_v(i)小于或等于NUM_TH_0,则该行是非黑像素行,执行S14判断first_flag是否是1。若是1,则执行S15,将当前i值赋给top1,即得到所述图像的黑边上边界值。之后,执行S16将first_flag赋值成第二标识,即0。然后,执行S17将i加1,以进行下一行的判定。若S14中的first_flag不是1,则执行S18,将当前i值赋给bottom1,并将i加1,以确定下一行是否是黑像素行。根据上述循环得到最大的非黑像素列i值赋给bottom1,即得到所述图像的黑边下边界值。
需要说明的是,如图6所示当按照S16将first_flag赋值成0后,可以直接执行S17(i++),也可以返回执行S14(判断first_flag是否是1),然后执行S18,再执行S17(i++),上述两种方法对最终结果没有影响,都可以作为本实施例的具体实施方式。
若每行的第一点数是每行中非黑像素点的点数,则只需将上述的判断符号设置为相反的即可确定黑边上下边界值,例如将“大于”改为“小于等于”,将“小于”改为“大于等于”等,对此过程不再详细描述。
确定黑边左边界值和黑边右边界值
在本实施例中,此步骤可以包括:根据步骤S102多列中每列的第二点数确定图像的黑边左边界值和黑边右边界值。具体可以包括:根据每列的第二点数和第六阈值确定该列是黑像素列、还是非黑像素列,将多列中非黑像素列的最小列数、或该最小列数减1确定为图像的黑边左边界值,将所述多列中非黑像素列的最大列数、或该最大列数加1确定为图像的黑边右边界值。
分情况而言,若每列的第一点数是每列中黑像素点的点数,则优选的,根据每列的第一点数和第六阈值确定该列是黑像素列,还是非黑像素列,具体为:判断num_h(j)与NUM_TH_1的大小关系,若num_h(j)大于或大于等于NUM_TH_1,则意味着是黑像素列,若num_h(j)小于或小于等于NUM_TH_1,则意味着是非黑像素列。需要说明的是,NUM_TH_1为第六阈值,此处不限定其大小,本领域技术人员可以将其设置为一经验值,或根据不同的图像的分辨率可做调整等。
之后,不符合num_h(j)>NUM_TH_1或num_h(j)≥NUM_TH_1的最小值j(即不是黑像素列的最小列数)即为min_j为左黑边边界值left1,最大值j(即不是黑像素列的最大列数)即为max_j为右黑边边界值right1,此时可以认为该边界属于非黑边区域。当然,本领域技术人员可以理解,我们也可以用不符合num_h(j)>NUM_TH_1或num_h(j)≥NUM_TH_1的最小值j-1(即是黑像素列的最大列数)为左黑边边界值left1,最大值j+1(即是黑像素列的最小列数)为右黑边边界值,此时可以认为该边界属于黑边区域。
示例的,以num_h(j)>NUM_TH_1为黑像素列为例,优选的方案为:
步骤(1)将列标志位初始化为第三标识。
这里的列标志位用于判断是给left1赋值还是给right1赋值,用first_flag表示。第三标识只要和后续的第四标识不同即可,在本发明中不限定其具体值,示例的,可以为1。
例如,如图7中S21所示对j、first_flag、left1、right1初始化,具体为:将j赋值成0(表示要从第一列开始判定),将first_flag赋值成1,将left1赋值成width/2,将right1赋值成width/2。说明此处的left1、right1初始化赋值width/2可能不是整数,那么我们可以向上取整或向下取整,也可以将left1、right1初始化赋值为0,1,2...width-1其中任意值。
步骤(2)按照所述多列排列的顺序,从第一列起依次根据一列的第二点数和第六阈值确定该列是否是黑像素列;若该列是黑像素列,则确定下一列是否是黑像素列;
例如,参考图7中S22所示,先判断j是否小于width,若不小于,则结束;若小于,则执行S23,判断num_h(j)是否大于NUM_TH_1,若大于表示是黑像素列,然后执行S27,将j加1,确定下一列是否是黑像素列。
步骤(3)若该列是非黑像素列,则在所述列标志位为第三标识的情况下,将当前列的列数确定为所述图像的黑边左边界值,并将所述列标志位设置为第四标识,且确定下一列是否是黑像素列;在列标志位不为第三标识的情况下,将当前列的列数确定为图像的黑边右边界值,并确定下一列是否是黑像素列。
这里的第四标识只要与前面的第三标识不同即可,示例的,可以为0。
例如,若图7的S23中num_h(j)小于或等于NUM_TH_1,则该列是非黑像素列,执行S24判断first_flag是否是1。若是1,则执行S25,将当前j值赋给left1,即得到所述图像的黑边左边界值。之后,执行S26将first_flag赋值成第二标识,即0。然后,执行S27将j加1,以进行下一列的判定。若S24中的first_flag不是1,则执行S28,将当前j值赋给right1,并将j加1,以确定下一列是否是黑像素列。根据上述循环得到最大的非黑像素列j值赋给right1,即得到所述图像的黑边右边界值。
需要说明的是,如图7所示当按照S26将first_flag赋值成0后,可以直接执行S27(j++),也可以返回执行S24(判断first_flag是否是1),然后执行S28,再执行S27(j++),上述两种方法对最终结果没有影响,都可以作为本实施例的具体实施方式。
若每列的第二点数是每列中非黑像素点的点数,则只需将上述的判断符号设置为相反的即可确定黑边上下边界值,例如将“大于”改为“小于等于”,将“小于”改为“大于等于”等,对此过程不再详细描述。
本领域技术人员可以理解,上述第五阈值(NUM_TH_0)、第六阈值(NUM_TH_1)可以相同,也可以不同,本发明不做限定。
需要说明:上述实施例是本发明的优选实施例,是利用了第一标志位first_flag,从每一帧图像的最上边第一行(行0)开始查找,得到了本步骤的top1、bottom1,从每一帧图像的最左边第一列(列0)开始查找,得到了本步骤的left1、right1。可选的,本领域技术人员也可以利用第一标志位first_flag,从每一帧图像的最下边最后一行开始查找,得到本步骤的top1、bottom1;从每一帧图像的最右边最后一列开始查找,得到本步骤的left1、right1。具体实施过程可在上述优选实施例的基础上做相应调整,例如在图6的S11中将最后一行的行标号赋值给i,将S17改为i--等,此处不详述。可选的,本领域技术人员也可以不利用第一标志位first_flag,例如从每一帧图像的最上边第一行开始,当确定黑边上边界值top1后停止;从每一帧图像的最下边最后一行开始,当确定黑标下边界值bottom1后停止;从每一帧图像的最左边第一列开始,当确定黑边左边界值left1后停止;从每一帧图像的最右边最后一列开始,当确定黑边右边界值right1后停止。具体实施过程将优选实施例做相应调整,此处不详述。
本实施例提供了一种图像的黑边的检测方法,在像素点的亮度表征值和两像素点的亮度表征值之差均满足一定条件的前提下,方可确定一像素点是黑像素点、或非黑像素点;也就是说,通过两个条件来判断一像素点是否是黑像素点,相比于现有技术而言,增加了一个判断条件,从而在一定程度上能够降低像素点误判的几率,进一步的,降低现有技术中黑边检测结果不准确的几率。
S104(可选)、对步骤S103得到当前帧图像的top1、bottom1、left1、right1值进行时间滤波,得到top2、bottom2、left2、right2值。
如果视频图像的内容存在黑场景时,假设视频图像内容的上半部分为较黑的场景,与视频图像上黑边比较接近,那么步骤S103得到的top1会比没有上半部分的黑场景得到的黑边上边界值(即真实黑边上边界值)大一些。假设视频图像的画面是由一个正常的视频图像画面转入到一个上半部分具有黑场景的画面,如果黑场景所在区域比较稳定,而且持续时间较长,则步骤S103计算得到的top1虽然偏离真正的黑边上边界值,但是由于黑场景与视频图像黑边相近,此时问题不大。然而,一旦出现黑场景所在区域不稳定,大小变化比较频繁,此时对于视频图像中的多帧而言,采用步骤S103得到的top1会忽大忽小。
当然,对于视频图像的其他部分存在黑场景的情况,也与此类似。如果黑场景的上下左右四个位置的大小均变化频繁时,则更是麻烦。
基于上述描述的黑场景的大小变化太频繁的情况,为了保持在一定的时间之内top、bottom、left、right值的变化不过于频繁,相对较稳定,需要对计算出的当前帧的top1、bottom1、left1、right1值利用前面几帧图像的黑边边界值进行时间滤波。这里的前面几帧图像的黑边边界值,一般是指前面几帧图像的最终top、bottom、left、right值(具体可以是前面几帧图像经步骤S103得到的top3、bottom3、left3、right3),当然也可根据需要使用前面几帧图像由步骤S103得到的初始top1、bottom1、left1、right1值;本实施例中以前者作为优选;需要说明的是,前几帧,例如记为前N帧,N是可以配置的参数,具体值根据实际条件进行调试,配置较为合理的数值。
本实施例中的时间滤波为将图像(当前帧图像,例如第t帧图像)的黑边边界、以及该图像的前N帧图像的黑边边界中,每一侧边的最外边界确定为经滤波后的所述图像的黑边边界。其中的,各个侧边可以包括上、下、左、右四个侧边。
需要说明的是,为了便于区分本步骤得到的黑边边界值分别用top2、bottom2、left2、right2表示。
具体地例如:为了方便描述,将步骤S103计算得到的当前第t帧图像的top1、bottom1、left1、right1分别重新标记为cur_tmp_top、cur_tmp_left、cur_tmp_bottom、cur_tmp_right。
首先,从缓存(buffer,用于存储数据的缓冲区)中读取第t帧的前N帧图像的top、bottom、left、right值,分别记为:prev_k_tmp_top、prev_k_tmp_left、prev_k_tmp_bottom、prev_k_tmp_right,其中k为0,1,2...N-1。
之后,求取prev_k_tmp_top、cur_tmp_top,N+1个top值中的最小值作为当前滤波后的top2值。为了后续步骤的清楚描述,该top2可记为y(t)_top,表示当前第t帧图像的top2。同理,求取prev_k_tmp_left、cur_tmp_left,N+1个left值中的最小值作为当前滤波后的left2值,可记为y(t)_left,表示当前第t帧图像的left2。
求取prev_k_tmp_bottom、cur_tmp_bottom,N+1个bottom值的最大值作为当前滤波后的bottom2值,可记为y(t)_bottom,表示当前第t帧图像的bottom2。
求取prev_k_tmp_right、cur_tmp_right,N+1个right值的最大值作为当前滤波后的right2值,可记为y(t)_right,表示当前第t帧图像的right2。
top2和left2的最小值滤波、bottom2和right2值的最大值滤波,从而得到了N+1帧图像中上、下、左、右四个侧边的黑边最外边界,该边界在这N+1帧中是稳定的,因而可以有效的减轻了top、bottom、left、right四个值的频繁变化。
需要说明的是,由于第1帧~第N帧没有与之对应的前N帧的top、bottom、left、right值用来进行时间滤波,所以可以将第1帧~第N帧的由步骤S103得到的top1、bottom1、left1、right1值不经时间滤波,此时,第t(t大于等于1、且小于等于N)帧图像经步骤S103得到的4个边界值可记为y(t)_top、y(t)_left、y(t)_bottom、y(t)_right值。或者,当第t帧之前不足N帧时,用预设的四个侧边的边界值(可选取较为靠近中心区域的值,以便这些预设的边界值不影响最终的滤波结果,例如预设的上下边界值可以是height/2,预设的左右边界值可以是width/2。)来补齐,使得每个侧边的边界值都有N+1个,之后按照上述方法进行时间滤波。或者,当第t帧之前不足N帧时,也可取第1帧-第t帧图像中每一侧边的最外边界作为第t帧图像经滤波后的黑边边界。
本步骤S104(可选)针对黑场景大小变化太频繁进行了时间滤波,进一步的降低现有技术中黑边检测结果不准确的几率。
S105(可选)、对步骤S104得到的top2、bottom2、left2、right2四个值进行IIR滤波(Infinite Impulse Response,无限长脉冲响应滤波),得到top3、bottom3、left3、right3。
当然,本实施例以检测黑边的方法中包含S104为例,本领域技术人员应该理解若不执行步骤S104,则此步骤也可以对S103得到的4个边界值进行IIR滤波。
该步骤解决由正常场景变到黑场景,或者黑场景变到正常场景的变化太快的问题。根据实际情况非黑边区域由大变小的时候需要缓慢变小;当非黑边区域由小变大时需要及时变大;而本实施例中IIR滤波满足这一要求。
本实施例中,IIR滤波具体包括:若一帧图像(当前帧图像,可记为第t帧图像)的黑边边界中任一侧边的边界位于该图像的前一帧图像(可记为第t-1帧图像)的黑边边界中该侧边的边界外侧,则该图像(第t帧)的黑边边界中该侧边的边界值不变。也就是说,当视频图像由黑场景变到正常场景时,则由步骤S104得到的第t帧图像的4个边界值作为最终边界值,以保证非黑边区域及时变大。
若图像(第t帧图像)的黑边边界中任一侧边的边界位于该图像的前一帧图像(第t-1帧图像)的黑边边界中该侧边的边界内侧,则将第t帧图像的黑边边界中该侧边的边界值、以及第t-1帧图像的黑边边界中该侧边的边界值的加权之和确定为滤波后的第t帧图像的黑边边界中该侧边的边界值。也就是说,当视频图像由正常场景变到黑场景时,则结合第t-1帧图像的4个最终的边界值,对步骤S104得到的第t帧图像的4个边界值进行微调,以使得视频图像从第t-1帧到第t帧时,其非黑边区域不会变化过大。
具体示例为:
需要说明的是,为了便于区分本步骤得到的黑边边界值分别用top3、bottom3、left3、right3表示,此步骤得到的4个边界值作为最终的top、bottom、left、right值。由于要体现出不同帧的关系,因而,将当前帧图像(第t帧图像)的top3、bottom3、left3、right3,记为t_y(t)_top、t_y(t)_left、t_y(t)_bottom、t_y(t)_right。
(1)计算第t帧图像的top3,即t_y(t)_top。
如果y(t)_top小于t_y(t-1)_top,则t_y(t)_top=y(t)_top。
如果y(t)_top大于t_y(t-1)_top,则
t_y(t)_top=(1-k)*t_y(t-1)_top+k*y(t)_top;此处k称作步长,取值范围为[0,1),优选为(0,1),其取值可以根据实际需要配置。进一步k优选为1/2n,n可以为正整数,这样可以简化硬件实现的难度。
如果y(t)_top等于t_y(t-1)_top,则可以任取上述两种方法之一,计算结果相同。
同理bottom3、left3、right3:
(2)计算第t帧图像的bottom3,即t_y(t)_bottom。
如果y(t)_bottom大于t_y(t-1)_bottom,则t_y(t)_bottom=y(t)_bottom。
如果y(t)_bottom小于t_y(t-1)_bottom,则t_y(t)_bottom=(1-k)*t_y(t-1)_bottom+k*y(t)_bottom。
如果y(t)_bottom等于t_y(t-1)_bottom,则可以任取上述两种方法之一,计算结果相同。
(3)计算第t帧图像的left3,即t_y(t)_left。
如果y(t)_left小于t_y(t-1)_left,则t_y(t)_left=y(t)_left。
如果y(t)_left大于t_y(t-1)_left,则t_y(t)_left=(1-k)*t_y(t-1)_left+k*y(t)_left。
如果y(t)_left等于t_y(t-1)_left,则可以任取上述两种方法之一,计算结果相同。
(4)计算第t帧图像的right3,即t_y(t)_right。
如果y(t)_right大于t_y(t-1)_right,则t_y(t)_right=y(t)_right。
如果y(t)_right小于等于t_y(t-1)_right,则t_y(t)_right=(1-k)*t_y(t-1)_right+k*y(t)_right。
如果y(t)_right等于t_y(t-1)_right,则可以任取上述两种方法之一,计算结果相同。
其中,t_y(t)_top、t_y(t)_left、t_y(t)_bottom、t_y(t)_right作为为第t帧图像最终的黑边位置,其取值应为整数,若按照上述方法得到的边界值不是整数,则可以将其整数化,例如可以采用向上取整、向下取整等整数化方法。
本步骤S105(可选)针对黑场景与正常场景之间的变化太快进行了IIR滤波,进一步的降低现有技术中黑边检测结果不准确的几率。
需要说明:本实施例中上述步骤S104和S105作为可选步骤,可以根据需要执行,即可以都不执行,或者只执行S104,或者只执行S105,或者都执行,但若都执行通常需先执行S104再执行S105。
实施例二
本发明实施例提供了一种图像的黑边检测装置,该装置可以是软件或硬件,其中各个功能模块的实现可以参考上述实施例,在此不再赘述。如图8所示,该装置包括:
获取单元81,用于获取一帧图像中像素点的亮度表征值,以得到所述图像的亮度阵列;
统计单元82,用于统计所述图像的亮度阵列的多行中每行的第一点数以及多列中每列的第二点数,其中,所述第一点数为一行中满足第一条件的像素的点数,所述第一条件为若要确定一像素点为黑像素点或非黑像素点,则该像素点的亮度表征值和第一阈值的大小关系、以及该像素点与该像素点所在行的一个其他像素点的亮度表征值之差和第二阈值的大小关系均要满足的条件,所述第二点数为一列中满足第二条件的像素的点数,所述第二条件为若要确定一像素点为黑像素点或非黑像素点,则该像素点的亮度表征值和第三阈值的大小关系、以及该像素点与该像素点所在列的一个其他像素点的亮度表征值之差和第四阈值的大小关系均要满足的条件;
确定单元83,用于根据所述多行中每行的第一点数和所述多列中每列的第二点数,确定所述图像的黑边边界。
可选的,所述该像素点所在行的一个其他像素点具体为,在该像素点所在行内该像素点的相邻像素点;所述该像素点所在列的一个其他像素点具体为,在该像素点所在列内该像素点的相邻像素点。
可选的,所述确定单元83具体用于根据每行的第一点数和第五阈值确定该行是黑像素行、还是非黑像素行,将所述多行中非黑像素行的最小行数、或该最小行数减1确定为所述图像的黑边上边界值,将所述多行中非黑像素行的最大行数、或该最大行数加1确定为所述图像的黑边下边界值。
可选的,所述确定单元83具体用于根据每列的第二点数和第六阈值确定该列是黑像素列、还是非黑像素列,将所述多列中非黑像素列的最小列数、或该最小列数减1确定为所述图像的黑边左边界值,将所述多列中非黑像素列的最大列数、或该最大列数加1确定为所述图像的黑边右边界值。
可选的,所述确定单元83具体用于将行标志位初始化为第一标识;按照所述多行排列的顺序,从第一行起依次根据一行的第一点数和第五阈值确定该行是否是黑像素行;若该行是黑像素行,则确定下一行是否是黑像素行;若该行是非黑像素行,则在所述行标志位为第一标识的情况下,将当前行的行数确定为所述图像的黑边上边界值,并将所述行标志位设置为第二标识,且确定下一行是否是黑像素行;在所述行标志位不为第一标识的情况下,将当前行的行数确定为所述图像的黑边下边界值,并确定下一行是否是黑像素行。
可选的,所述确定单元83具体用于将列标志位初始化为第三标识;按照所述多列排列的顺序,从第一列起依次根据一列的第二点数和第六阈值确定该列是否是黑像素列;若该列是黑像素列,则确定下一列是否是黑像素列;若该列是非黑像素列,则在所述列标志位为第三标识的情况下,将当前列的列数确定为所述图像的黑边左边界值,并将所述列标志位设置为第四标识,且确定下一列是否是黑像素列;在所述列标志位不为第三标识的情况下,将当前列的列数确定为所述图像的黑边右边界值,并确定下一列是否是黑像素列。
可选的,该检测装置还包括:第一滤波单元84,用于将所述图像的黑边边界、以及所述图像的前N帧图像的黑边边界中,每一侧边的最外边界确定为经滤波后的所述图像的黑边边界。
可选的,该检测装置还包括:第二滤波单元85,用于若所述图像的黑边边界中任一侧边的边界位于所述图像的前一帧图像的黑边边界中该侧边的边界外侧,则所述图像的黑边边界中该侧边的边界值不变;若所述图像的黑边边界中任一侧边的边界位于所述图像的前一帧图像的黑边边界中该侧边的边界内侧,则将所述图像的黑边边界中该侧边的边界值、以及所述前一帧图像的黑边边界中该侧边的边界值的加权之和确定为滤波后的所述图像的黑边边界中该侧边的边界值。
需要说明,本实施例提供的一种图像的黑边的检测装置中第一滤波单元84和第二滤波单元85作为可选单元,可以根据需要选择,参考图9所示即可以只包括第一滤波单元84,参考图10所示即可以只包括第二滤波单元85,参考图8可以包括第一滤波单元84和第二滤波单元85。
需要说明的是,本实施例中获取单元81可以为图像的黑边检测装置上具备接收功能的接口电路与处理器配合完成的,例如:可以通过接口电路得到用于求取亮度表征值的参数,之后处理器根据这些参数求取得到亮度表征值;当然也可以是硬件电路根据这些参数求取得到亮度表征值。示例的,接口电路可以是接收机或信息接收接口,其他单元可以为单独设立的处理器,也可以集成在图像的黑边检测装置的某一个处理器中实现,此外,也可以以程序代码的形式存储于图像的黑边检测装置的存储器中,由图像的黑边检测装置的某一个处理器调用并执行以上各个单元的功能。这里所述的处理器可以是一个中央处理器(英文全称:Central Processing Unit,英文简称:CPU),或者是特定集成电路(英文全称:Application Specific Integrated CirCuit,英文简称:ASIC),或者是被配置成实施本发明实施例的一个或多个集成电路。
本实施例提供了一种图像的黑边的检测装置,在像素点的亮度表征值和两像素点的亮度表征值之差均满足一定条件的前提下,方可确定一像素点是黑像素点、或非黑像素点;也就是说,通过两个条件来判断一像素点是否是黑像素点,相比于现有技术而言,增加了一个条件,从而在一定程度上能够降低像素点误判的几率,进一步的,降低现有技术中黑边检测结果不准确的几率。而且针对黑场景大小变化太频繁进行了时间滤波,针对黑场景与正常场景之间的变化太快进行了IIR滤波,进一步的降低现有技术中黑边检测结果不准确的几率。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (10)
1.一种图像的黑边检测方法,其特征在于,包括:
获取一帧图像中像素点的亮度表征值,以得到所述图像的亮度阵列;
统计所述图像的亮度阵列的多行中每行的第一点数以及多列中每列的第二点数,其中,所述第一点数为一行中满足第一条件的像素的点数,所述第一条件为若要确定一像素点为黑像素点或非黑像素点,则该像素点的亮度表征值和第一阈值的大小关系、以及该像素点与该像素点所在行的一个其他像素点的亮度表征值之差和第二阈值的大小关系均要满足的条件,所述第二点数为一列中满足第二条件的像素的点数,所述第二条件为若要确定一像素点为黑像素点或非黑像素点,则该像素点的亮度表征值和第三阈值的大小关系、以及该像素点与该像素点所在列的一个其他像素点的亮度表征值之差和第四阈值的大小关系均要满足的条件;
根据所述多行中每行的第一点数和所述多列中每列的第二点数,确定所述图像的黑边边界。
2.根据权利要求1所述的检测方法,其特征在于,所述该像素点所在行的一个其他像素点具体为,在该像素点所在行内该像素点的相邻像素点;
所述该像素点所在列的一个其他像素点具体为,在该像素点所在列内该像素点的相邻像素点。
3.根据权利要求1所述的检测方法,其特征在于,所述根据所述多行中每行的第一点数和所述多列中每列的第二点数,确定所述图像的黑边边界包括:
根据每行的第一点数和第五阈值确定该行是黑像素行、还是非黑像素行,将所述多行中非黑像素行的最小行数、或该最小行数减1确定为所述图像的黑边上边界值,将所述多行中非黑像素行的最大行数、或该最大行数加1确定为所述图像的黑边下边界值;
根据每列的第二点数和第六阈值确定该列是黑像素列、还是非黑像素列,将所述多列中非黑像素列的最小列数、或该最小列数减1确定为所述图像的黑边左边界值,将所述多列中非黑像素列的最大列数、或该最大列数加1确定为所述图像的黑边右边界值。
4.根据权利要求3所述的检测方法,其特征在于,所述根据所述多行中每行的第一点数和所述多列中每列的第二点数,确定所述图像的黑边边界包括:
将行标志位初始化为第一标识;按照所述多行排列的顺序,从第一行起依次根据一行的第一点数和第五阈值确定该行是否是黑像素行;若该行是黑像素行,则确定下一行是否是黑像素行;若该行是非黑像素行,则在所述行标志位为第一标识的情况下,将当前行的行数确定为所述图像的黑边上边界值,并将所述行标志位设置为第二标识,且确定下一行是否是黑像素行;在所述行标志位不为第一标识的情况下,将当前行的行数确定为所述图像的黑边下边界值,并确定下一行是否是黑像素行;
将列标志位初始化为第三标识;按照所述多列排列的顺序,从第一列起依次根据一列的第二点数和第六阈值确定该列是否是黑像素列;若该列是黑像素列,则确定下一列是否是黑像素列;若该列是非黑像素列,则在所述列标志位为第三标识的情况下,将当前列的列数确定为所述图像的黑边左边界值,并将所述列标志位设置为第四标识,且确定下一列是否是黑像素列;在所述列标志位不为第三标识的情况下,将当前列的列数确定为所述图像的黑边右边界值,并确定下一列是否是黑像素列。
5.根据权利要求1-4任一项所述的检测方法,其特征在于,在所述根据所述多行中每行的第一点数和所述多列中每列的第二点数,确定所述图像的黑边边界之后,所述方法还包括:
将所述图像的黑边边界、以及所述图像的前N帧图像的黑边边界中,每一侧边的最外边界确定为经滤波后的所述图像的黑边边界。
6.根据权利要求1-4任一项所述的检测方法,其特征在于,在所述根据所述多行中每行的第一点数和所述多列中每列的第二点数,确定所述图像的黑边边界之后,所述方法还包括:
若所述图像的黑边边界中任一侧边的边界位于所述图像的前一帧图像的黑边边界中该侧边的边界外侧,则所述图像的黑边边界中该侧边的边界值不变;
若所述图像的黑边边界中任一侧边的边界位于所述图像的前一帧图像的黑边边界中该侧边的边界内侧,则将所述图像的黑边边界中该侧边的边界值、以及所述前一帧图像的黑边边界中该侧边的边界值的加权之和确定为滤波后的所述图像的黑边边界中该侧边的边界值。
7.一种图像的黑边检测装置,其特征在于,包括:
获取单元,用于获取一帧图像中像素点的亮度表征值,以得到所述图像的亮度阵列;
统计单元,用于统计所述图像的亮度阵列的多行中每行的第一点数以及多列中每列的第二点数,其中,所述第一点数为一行中满足第一条件的像素的点数,所述第一条件为若要确定一像素点为黑像素点或非黑像素点,则该像素点的亮度表征值和第一阈值的大小关系、以及该像素点与该像素点所在行的一个其他像素点的亮度表征值之差和第二阈值的大小关系均要满足的条件,所述第二点数为一列中满足第二条件的像素的点数,所述第二条件为若要确定一像素点为黑像素点或非黑像素点,则该像素点的亮度表征值和第三阈值的大小关系、以及该像素点与该像素点所在列的一个其他像素点的亮度表征值之差和第四阈值的大小关系均要满足的条件;
确定单元,用于根据所述多行中每行的第一点数和所述多列中每列的第二点数,确定所述图像的黑边边界。
8.根据权利要求7所述的检测装置,其特征在于,所述确定单元具体用于,根据每行的第一点数和第五阈值确定该行是黑像素行、还是非黑像素行,将所述多行中非黑像素行的最小行数、或该最小行数减1确定为所述图像的黑边上边界值,将所述多行中非黑像素行的最大行数、或该最大行数加1确定为所述图像的黑边下边界值;
根据每列的第二点数和第六阈值确定该列是黑像素列、还是非黑像素列,将所述多列中非黑像素列的最小列数、或该最小列数减1确定为所述图像的黑边左边界值,将所述多列中非黑像素列的最大列数、或该最大列数加1确定为所述图像的黑边右边界值。
9.根据权利要求7-8任一项所述的检测装置,其特征在于,还包括:
第一滤波单元,用于将所述图像的黑边边界、以及所述图像的前N帧图像的黑边边界中,每一侧边的最外边界确定为经滤波后的所述图像的黑边边界。
10.根据权利要求7-8任一项所述的检测装置,其特征在于,还包括:
第二滤波单元,用于若所述图像的黑边边界中任一侧边的边界位于所述图像的前一帧图像的黑边边界中该侧边的边界外侧,则所述图像的黑边边界中该侧边的边界值不变;
若所述图像的黑边边界中任一侧边的边界位于所述图像的前一帧图像的黑边边界中该侧边的边界内侧,则将所述图像的黑边边界中该侧边的边界值、以及所述前一帧图像的黑边边界中该侧边的边界值的加权之和确定为滤波后的所述图像的黑边边界中该侧边的边界值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610392629.4A CN107464251A (zh) | 2016-06-03 | 2016-06-03 | 一种图像的黑边检测方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610392629.4A CN107464251A (zh) | 2016-06-03 | 2016-06-03 | 一种图像的黑边检测方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107464251A true CN107464251A (zh) | 2017-12-12 |
Family
ID=60544840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610392629.4A Pending CN107464251A (zh) | 2016-06-03 | 2016-06-03 | 一种图像的黑边检测方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107464251A (zh) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110751024A (zh) * | 2019-09-06 | 2020-02-04 | 平安科技(深圳)有限公司 | 基于手写签名的用户身份识别方法、装置及终端设备 |
CN111652237A (zh) * | 2019-03-04 | 2020-09-11 | 海信视像科技股份有限公司 | 视频图像中osd图像检测方法、装置及终端设备 |
US11288784B1 (en) | 2021-09-16 | 2022-03-29 | Alphonso Inc. | Automated method and apparatus for identifying whether a first video is a content-identical variant of a second video when image frames of either the first video or the second video include at least one black border |
CN114253824A (zh) * | 2020-09-22 | 2022-03-29 | Igg新加坡有限私人贸易公司 | 游戏兼容性测试方法及系统 |
US11295452B1 (en) * | 2021-09-16 | 2022-04-05 | Alphonso Inc | Automated method and apparatus for detecting black borders in an image frame |
CN114527948A (zh) * | 2020-11-23 | 2022-05-24 | 深圳Tcl新技术有限公司 | 剪切区域的计算方法、装置、智能设备及存储介质 |
CN115314693A (zh) * | 2022-10-11 | 2022-11-08 | 长春希达电子技术有限公司 | 彩色边缘弱化方法、数据处理模块、传输系统及控制系统 |
WO2023011471A1 (zh) * | 2021-08-06 | 2023-02-09 | 深圳市道通科技股份有限公司 | 图案投影矫正装置、方法及计算机可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101841643A (zh) * | 2010-04-29 | 2010-09-22 | 深圳市茁壮网络股份有限公司 | 一种黑边检测方法和装置 |
CN102984437A (zh) * | 2012-12-17 | 2013-03-20 | 广东威创视讯科技股份有限公司 | 一种基于fpga的模拟视频信号黑边去除方法及装置 |
CN104915944A (zh) * | 2014-03-14 | 2015-09-16 | 北京风行在线技术有限公司 | 一种用于确定视频的黑边位置信息的方法与设备 |
CN105430382A (zh) * | 2015-12-02 | 2016-03-23 | 厦门雅迅网络股份有限公司 | 一种视频图像检测黑边的方法和装置 |
-
2016
- 2016-06-03 CN CN201610392629.4A patent/CN107464251A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101841643A (zh) * | 2010-04-29 | 2010-09-22 | 深圳市茁壮网络股份有限公司 | 一种黑边检测方法和装置 |
CN102984437A (zh) * | 2012-12-17 | 2013-03-20 | 广东威创视讯科技股份有限公司 | 一种基于fpga的模拟视频信号黑边去除方法及装置 |
CN104915944A (zh) * | 2014-03-14 | 2015-09-16 | 北京风行在线技术有限公司 | 一种用于确定视频的黑边位置信息的方法与设备 |
CN105430382A (zh) * | 2015-12-02 | 2016-03-23 | 厦门雅迅网络股份有限公司 | 一种视频图像检测黑边的方法和装置 |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111652237A (zh) * | 2019-03-04 | 2020-09-11 | 海信视像科技股份有限公司 | 视频图像中osd图像检测方法、装置及终端设备 |
CN111652237B (zh) * | 2019-03-04 | 2023-08-25 | 海信视像科技股份有限公司 | 视频图像中osd图像检测方法、装置及终端设备 |
CN110751024A (zh) * | 2019-09-06 | 2020-02-04 | 平安科技(深圳)有限公司 | 基于手写签名的用户身份识别方法、装置及终端设备 |
CN110751024B (zh) * | 2019-09-06 | 2024-08-02 | 平安科技(深圳)有限公司 | 基于手写签名的用户身份识别方法、装置及终端设备 |
CN114253824A (zh) * | 2020-09-22 | 2022-03-29 | Igg新加坡有限私人贸易公司 | 游戏兼容性测试方法及系统 |
CN114527948A (zh) * | 2020-11-23 | 2022-05-24 | 深圳Tcl新技术有限公司 | 剪切区域的计算方法、装置、智能设备及存储介质 |
CN114527948B (zh) * | 2020-11-23 | 2024-03-12 | 深圳Tcl新技术有限公司 | 剪切区域的计算方法、装置、智能设备及存储介质 |
WO2023011471A1 (zh) * | 2021-08-06 | 2023-02-09 | 深圳市道通科技股份有限公司 | 图案投影矫正装置、方法及计算机可读存储介质 |
US11288784B1 (en) | 2021-09-16 | 2022-03-29 | Alphonso Inc. | Automated method and apparatus for identifying whether a first video is a content-identical variant of a second video when image frames of either the first video or the second video include at least one black border |
US11295452B1 (en) * | 2021-09-16 | 2022-04-05 | Alphonso Inc | Automated method and apparatus for detecting black borders in an image frame |
CN115314693A (zh) * | 2022-10-11 | 2022-11-08 | 长春希达电子技术有限公司 | 彩色边缘弱化方法、数据处理模块、传输系统及控制系统 |
CN115314693B (zh) * | 2022-10-11 | 2023-02-10 | 长春希达电子技术有限公司 | 彩色边缘弱化方法、数据处理模块、传输系统及控制系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107464251A (zh) | 一种图像的黑边检测方法及装置 | |
US9916518B2 (en) | Image processing apparatus, image processing method, program and imaging apparatus | |
US8213738B2 (en) | Method for eliminating noise from image generated by image sensor | |
CN100562065C (zh) | 摄像装置、降噪装置、降噪方法 | |
US7835573B2 (en) | Method and apparatus for edge adaptive color interpolation | |
EP2089848B1 (en) | Noise reduction of panchromatic and color image | |
EP1288855B1 (en) | System and method for concurrently demosaicing and resizing raw data images | |
US8077228B2 (en) | Processing of sensor values in imaging systems | |
US7236191B2 (en) | Method and system for image processing with pixel interpolation using second order gradients | |
US7142239B2 (en) | Apparatus and method for processing output from image sensor | |
CN108615227A (zh) | 一种图像摩尔纹的抑制方法及设备 | |
US10043244B2 (en) | Image processing device, image processing method, image processing program, and recording medium | |
CN107454285A (zh) | 图像噪声估计方法及装置与图像提取装置 | |
US20080298722A1 (en) | Apparatus for Color Interpolation Using Adjustable Threshold | |
TWI449027B (zh) | 適應性畫素補償方法 | |
EP2742681A1 (en) | Image processing apparatus and control method therefor | |
CN107644437B (zh) | 基于分块的偏色检测系统及其方法 | |
CN107507158A (zh) | 一种图像处理方法和装置 | |
CN101854462A (zh) | 图像处理设备、图像处理方法和计算机程序 | |
US7796827B2 (en) | Face enhancement in a digital video | |
CN106507079B (zh) | 一种色彩还原方法和装置 | |
US8155470B2 (en) | Device for removing noise in image data | |
US8836824B2 (en) | Systems and methods for threshold-based luma channel noise reduction | |
US6671401B1 (en) | Removing color moire patterns from digital images having known chromaticities | |
JPH0630308A (ja) | 画像データ処理装置 |
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 | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171212 |
|
RJ01 | Rejection of invention patent application after publication |