一種24色色卡色塊區(qū)域快速自動定位的系統(tǒng)及方法
【專利摘要】本發(fā)明公開了一種24色色卡色塊區(qū)域快速自動定位的系統(tǒng)及方法,所述系統(tǒng)包括:跳變點統(tǒng)計單元,用于統(tǒng)計由拍攝照片形成的位圖上的跳變點;坐標計算單元,與所述跳變點統(tǒng)計單元連接,用于利用豎直方向跳變點的連續(xù)、間斷規(guī)律計算出色塊的起始縱坐標和邊長,利用水平方向跳變點的出現(xiàn)位置計算出色塊的起始橫坐標,以計算出24色卡區(qū)域的坐標,實現(xiàn)24色色卡色塊區(qū)域的快速自動定位。根據(jù)本發(fā)明的方案,通過圖像處理突顯出各個色塊在豎直方向的邊線,進而快速準確的自動算出各色塊的區(qū)域,避免人工手動操作界面畫框,節(jié)約了人力和時間,而且計算量非常小,可在手機上實時運算。
【專利說明】
一種24色色卡色塊區(qū)域快速自動定位的系統(tǒng)及方法
技術領域
[0001]本發(fā)明涉及相機調(diào)校技術領域,特別涉及一種24色色卡色塊區(qū)域快速自動定位的系統(tǒng)及方法。
【背景技術】
[0002]調(diào)校相機模組的白平衡、色彩平衡時先需要對24色色卡拍照,接著與要對標的相機拍出的照片進行比較,在比較時需要手動操作界面選中需要比較的色塊區(qū)域,然后由程序進行提取和比較。這種手動操作界面選中需要比較的色塊區(qū)域,導致操作較為煩瑣,嚴重浪費了人力和時間。
【發(fā)明內(nèi)容】
[0003]本發(fā)明提供一種24色色卡色塊區(qū)域快速自動定位的系統(tǒng)及方法,以解決調(diào)校相機時手動操作界面選中需要比較的色塊區(qū)域嚴重浪費人力和時間的技術問題。
[0004]根據(jù)本發(fā)明的一個方面,提供一種24色色卡色塊區(qū)域快速自動定位的系統(tǒng),所述系統(tǒng)包括:
[0005]跳變點統(tǒng)計單元,用于統(tǒng)計由拍攝照片形成的位圖上的跳變點;
[0006]坐標計算單元,與所述跳變點統(tǒng)計單元連接,用于利用豎直方向跳變點的連續(xù)、間斷規(guī)律計算出色塊的起始縱坐標和邊長,利用水平方向跳變點的出現(xiàn)位置計算出色塊的起始橫坐標,以計算出24色卡區(qū)域的坐標,實現(xiàn)24色色卡色塊區(qū)域的快速自動定位。
[0007]其中,在上述的發(fā)明中,所述坐標計算單元包括:
[0008]縱向計算模塊,用于利用豎直方向跳變點的連續(xù)、間斷規(guī)律計算出色塊的起始縱坐標和邊長;
[0009]橫向計算模塊,用于利用水平方向跳變點的出現(xiàn)位置計算出色塊的起始橫坐標;
[0010]坐標計算模塊,用于根據(jù)色塊的起始縱坐標、起始橫坐標和邊長計算出24色卡區(qū)域的坐標,以實現(xiàn)24色色卡色塊區(qū)域的快速自動定位。
[0011]其中,在上述的發(fā)明中,所述跳變點滿足:
[0012]為非第一行、最后一行、第一列、最后一列上的像素H(X),且其上一行相同橫坐標的像素與其下一行相同橫坐標的像素滿足Abs(GrayV(x-w)_GrayV(x+w))<Tv,其左邊的像素與其右邊的像素滿足Abs (GrayH(x-l)-GrayH(x+l))>Th;
[0013]這里,Abs為取絕對值,w為位圖的寬度,h為位圖的高度,Tv和Th是給定的閥值;
[0014]GrayV(x)=(77*R(x)+151*G(x)+28*B(x))/256;
[0015]GrayH(x) =Max (R(x),G(x),B(X));
[0016]R(x),G(x),B(x)分別為位圖在像素X處的R、G、B值;
[0017]Max表示取最大值。
[0018]其中,在上述的發(fā)明中,所述縱向計算模塊(21)逐行統(tǒng)計每一行的跳變點數(shù)量,當前行的跳變點數(shù)量記為n C u r L i n e J u m P P ο i n t,上一行的跳變點數(shù)量記為nLastLineJumpPoint;
[0019]當nCurLine JumpPoint> = THRESHOLD_BLOCK_Y;
[0020]且nLastLineJumpPoint〈THRESHOLD_BLOCK_Y;
[0021]則當前行為潛在的色塊豎直方向起始坐標,記錄當前的行數(shù)為nBlockTop;
[0022]當nCurLineJumpPoint〈THRESHOLD_BLOCK_Y;
[0023]且nLastLine JumpPoint> = THRESHOLD_BLOCK_Y;
[0024]則當前行為潛在的色塊豎直方向終止坐標,記錄當前的行數(shù)為nBlockBottom;
[0025]記nBlockLength = nBlockBottom_nBlockTop,如果 nBlockLength 大于當前位圖高度的1/10則認為是算出一個有效的色塊邊長L;
[0026]這里threshold_block_yS給定閥值。
[0027]其中,在上述的發(fā)明中,所述橫向計算模塊從第一個有效色塊豎直方向起始坐標Y所在行從水平第一個像素起遍歷當前行的所有像素,如果當前像素是紅色,就判斷當前像素正下方1/10當前圖像高度的像素是否都主紅色,如果都是紅色的,則當前像素的橫坐標就是色塊的起始橫坐標X,否則繼續(xù)遍歷像素。
[0028]其中,在上述的發(fā)明中,記行塊號為i,記列塊號為j,則所述坐標計算模塊計算出:
[0029]第j行i個色塊的起始橫坐標為:StartX=X+marginL+(i_l)*(L+d);
[0030]第j行i個色塊的起始縱坐標為:StartY = Y+(j-l)*(L+d);
[0031]其中marginL = L/5,i取I到6的整數(shù),j取I到4的整數(shù),d為色塊間距。
[0032]根據(jù)本發(fā)明的另一個方面,提供一種24色色卡色塊區(qū)域快速自動定位的方法,所述方法包括:
[0033]統(tǒng)計由拍攝照片形成的位圖上的跳變點;
[0034]利用豎直方向跳變點的連續(xù)、間斷規(guī)律計算出色塊的起始縱坐標和邊長,利用水平方向跳變點的出現(xiàn)位置計算出色塊的起始橫坐標,以計算出24色卡區(qū)域的坐標,實現(xiàn)24色色卡色塊區(qū)域的快速自動定位。
[0035]其中,在上述的發(fā)明中,所述利用豎直方向跳變點的連續(xù)、間斷規(guī)律計算出色塊的起始縱坐標和邊長,利用水平方向跳變點的出現(xiàn)位置計算出色塊的起始橫坐標,以計算出24色卡區(qū)域的坐標,實現(xiàn)24色色卡色塊區(qū)域的快速自動定位,包括:
[0036]利用豎直方向跳變點的連續(xù)、間斷規(guī)律計算出色塊的起始縱坐標和邊長;
[0037]利用水平方向跳變點的出現(xiàn)位置計算出色塊的起始橫坐標;
[0038]根據(jù)色塊的起始縱坐標、起始橫坐標和邊長計算出24色卡區(qū)域的坐標,以實現(xiàn)24色色卡色塊區(qū)域的快速自動定位。
[0039]其中,在上述的發(fā)明中,所述跳變點滿足:
[0040]為非第一行、最后一行、第一列、最后一列上的像素H(X),且其上一行相同橫坐標的像素與其下一行相同橫坐標的像素滿足Abs(GrayV(x-w)-GrayV(x+w) )〈Tv,其左邊的像素與其右邊的像素滿足Abs (GrayH(x-l)-GrayH(x+l))>Th;
[0041 ]這里,Abs為取絕對值,w為位圖的寬度,h為位圖的高度,Tv和Th是給定的閥值;
[0042]GrayV(x)=(77*R(x)+151*G(x)+28*B(x))/256;
[0043]GrayH(x) =Max(R(x),G(x),B(x));
[0044]R(x),G(x),B(x)分別為位圖在像素X處的R、G、B值;
[0045]Max表示取最大值。
[0046]其中,在上述的發(fā)明中,所述利用豎直方向跳變點的連續(xù)、間斷規(guī)律計算出色塊的起始縱坐標和邊長,包括:
[0047I 逐行統(tǒng)計每一行的跳變點數(shù)量,當前行的跳變點數(shù)量記為nCurLineJumpPoint,上一行的跳變點數(shù)量記為nLastLineJumpPoint;
[0048]當nCurLine JumpPoint> = THRESHOLD_BLOCK_Y;
[0049]且nLastLineJumpPoint〈THRESHOLD_BLOCK_Y;
[0050]則當前行為潛在的色塊豎直方向起始坐標,記錄當前的行數(shù)為nBlockTop;
[0051 ]當nCurLineJumpPoint〈THRESHOLD_BLOCK_Y;
[0052]且nLastLine JumpPoint> = THRESHOLD_BLOCK_Y;
[0053]則當前行為潛在的色塊豎直方向終止坐標,記錄當前的行數(shù)為nBlockBottom;
[0054]記nBlockLength = nBlockBottom_nBlockTop,如果 nBlockLength 大于當前位圖高度的1/10則認為是算出一個有效的色塊邊長L;
[0055]這里threshold_block_yS給定閥值。
[0056]其中,在上述的發(fā)明中,所述利用水平方向跳變點的出現(xiàn)位置計算出色塊的起始橫坐標,包括:
[0057]從第一個有效色塊豎直方向起始坐標Y所在行從水平第一個像素起遍歷當前行的所有像素,如果當前像素是紅色,就判斷當前像素正下方1/10當前圖像高度的像素是否都主紅色,如果都是紅色的,則當前像素的橫坐標就是色塊的起始橫坐標X,否則繼續(xù)遍歷像素。
[0058]其中,在上述的發(fā)明中,所述根據(jù)色塊的起始縱坐標、起始橫坐標和邊長計算出24色卡區(qū)域的坐標,以實現(xiàn)24色色卡色塊區(qū)域的快速自動定位,包括:
[0059]記行塊號為i,記列塊號為j,則所述坐標計算模塊(23)計算出:
[0060]第j行i個色塊的起始橫坐標為:StartX=X+marginL+(i_l)*(L+d);
[0061 ] 第j行i個色塊的起始縱坐標為:StartY = Y+(j-l)*(L+d);
[0062]這里marginL = L/5,i取I到6的整數(shù),j取I到4的整數(shù),d為色塊間距。
[0063]本發(fā)明的24色色卡色塊區(qū)域快速自動定位的系統(tǒng)及方法,根據(jù)所拍攝照片內(nèi)容、位置比較固定的特點,通過圖像處理突顯出各個色塊在豎直方向的邊線,進而快速準確的自動算出各色塊的區(qū)域,避免人工手動操作界面畫框,節(jié)約了人力和時間,而且計算量非常小,可在手機上實時運算。
【附圖說明】
[0064]圖1顯示了本發(fā)明【具體實施方式】中提供的24色色卡色塊區(qū)域快速自動定位的系統(tǒng)的結(jié)構(gòu)示意圖;
[0065]圖2顯示了本發(fā)明【具體實施方式】中跳變點的示意圖;
[0066]圖3顯示了本發(fā)明【具體實施方式】中估算色塊起始縱坐標和邊長的示意圖;
[0067]圖4顯示了本發(fā)明【具體實施方式】中計算色塊間距的示意圖;
[0068]圖5顯示了本發(fā)明【具體實施方式】中計算色塊起始橫坐標的示意圖;
[0069]圖6顯示了本發(fā)明【具體實施方式】中提供的24色色卡色塊區(qū)域快速自動定位的方法的流程圖;
[0070]圖7顯示了圖6中步驟S2的方法流程圖。
【具體實施方式】
[0071]為使本發(fā)明的目的、技術方案和優(yōu)點更加清楚明了,下面結(jié)合【具體實施方式】并參照附圖,對本發(fā)明進一步詳細說明。應該理解,這些描述只是示例性的,而并非要限制本發(fā)明的范圍。此外,在以下說明中,省略了對公知結(jié)構(gòu)和技術的描述,以避免不必要地混淆本發(fā)明的概念。
[0072]圖1顯示了本發(fā)明【具體實施方式】中提供的24色色卡色塊區(qū)域快速自動定位的系統(tǒng)的結(jié)構(gòu)示意圖。
[0073]下面結(jié)合圖1所述的結(jié)構(gòu)示意圖,具體說明本實施例的24色色卡色塊區(qū)域快速自動定位的系統(tǒng)。
[0074]本實施例的24色色卡色塊區(qū)域快速自動定位的系統(tǒng)至少包括:跳變點統(tǒng)計單元10和坐標計算單元20。
[0075]跳變點統(tǒng)計單元10用于統(tǒng)計由拍攝照片形成的位圖上的跳變點。具體來說,在本實施中,跳變點統(tǒng)計單元10將照片解碼為24或者32位位圖。為了更好的處理性能,跳變點統(tǒng)計單元10將位圖保持寬高比例縮放到最長邊不超過1200像素的位圖。
[0076]本實施例中的跳變點為非第一行、最后一行、第一列、最后一列上的像素H(X),且其上一行相同橫坐標的像素與其下一行相同橫坐標的像素滿足AbS(GrayV(X-W)-GrayV(X+¥))〈1>,其左邊的像素與其右邊的像素滿足4&8(6瓜7!^-1)-6瓜7!^+1))>111。
[0077]這里,Abs為取絕對值,w為位圖的寬度,h為位圖的高度,Tv和Th是給定的閥值,一般地,Tv = 10,Th = 30。
[0078]GrayV(x)=(77*R(x)+151*G(x)+28*B(x))/256;
[0079]GrayH(x) =Max(R(x),G(x),B(x));
[0080]R(x),G(x),B(x)分別為位圖在像素X處的R、G、B值
[0081 ] Max表示取最大值。
[0082]坐標計算單元20與跳變點統(tǒng)計單元10連接,該坐標計算單元20用于利用豎直方向跳變點的連續(xù)、間斷規(guī)律計算出色塊的起始縱坐標和邊長,利用水平方向跳變點的出現(xiàn)位置計算出色塊的起始橫坐標,以計算出24色卡區(qū)域的坐標,實現(xiàn)24色色卡色塊區(qū)域的快速自動定位。
[0083]具體來說,坐標計算單元20包括:縱向計算模塊21、橫向計算模塊22和坐標計算模塊。
[0084]其中,縱向計算模塊21用于利用豎直方向跳變點的連續(xù)、間斷規(guī)律計算出色塊的起始縱坐標和邊長,該縱向計算模塊21逐行統(tǒng)計每一行的跳變點數(shù)量,當前行的跳變點數(shù)量記為nCurLineJumpPoint,上一行的跳變點數(shù)量記為nLastLineJumpPoint;
[0085]當nCurLine JumpPoint> = THRESHOLD_BLOCK_Y;
[0086]且nLastLineJumpPoint〈THRESHOLD_BLOCK_Y;
[0087]則當前行為潛在的色塊豎直方向起始坐標,記錄當前的行數(shù)為nBlockTop;
[0088]當nCurLineJumpPoint〈THRESHOLD_BLOCK_Y;
[0089]且nLastLine JumpPoint> = THRESHOLD_BLOCK_Y;
[0090]則當前行為潛在的色塊豎直方向終止坐標,記錄當前的行數(shù)為nBlockBottom;
[0091 ]記 nBlockLength = nBlockBottom_nBlockTop,如果 nBlockLength 大于當前位圖高度的1/10則認為是算出一個有效的色塊邊長L;
[0092]這里,THRESH0LD_BL0CK_Y為給定閥值,一般取17。
[0093]—個具體實施例中,如圖2所示,縱向計算模塊21求出它的跳變點并用繪制在空白位圖上,利用豎直方向跳變點的連續(xù)、間斷規(guī)律計算出色塊的起始縱坐標和邊長,如圖3所示第一條水平直線位置發(fā)現(xiàn)了潛在的色塊豎直方向起始坐標,第二條水平直線位置發(fā)現(xiàn)了潛在的色塊豎直方向終止坐標兩條直線之間的豎直方向距離即nBlockLength,也就是色塊的邊長為L。第一個有效色塊豎直方向起始坐標記為Y,繼續(xù)重復上面的步驟,再次發(fā)現(xiàn)有效的色塊豎直方向起始坐標、有效的色塊豎直方向終止坐標,如圖4所示,第二條水平直線與第三條水平直線間的距離即為色塊間距,記為d。
[0094]橫向計算模塊22用于利用水平方向跳變點的出現(xiàn)位置計算出色塊的起始橫坐標。參見圖2,該橫向計算模塊22從第一個有效色塊豎直方向起始坐標Y所在行從水平第一個像素起遍歷當前行的所有像素,如果當前像素是紅色,就判斷當前像素正下方1/10當前圖像高度的像素是否都主紅色,如果都是紅色的,則當前像素的橫坐標就是色塊的起始橫坐標X,否則繼續(xù)遍歷像素。
[0095]如圖5所示,水平直線上第一個紅點不滿足正下方1/10當前圖像高度的像素都是紅色,不是真正的色塊起始橫坐標點(是噪聲);水平直線上第二個紅點滿足正下方1/10當前圖像高度的像素都是紅色,故該點的橫坐標就是色塊的起始橫坐標X。
[0096]坐標計算模塊23用于根據(jù)色塊的起始縱坐標、起始橫坐標和邊長計算出24色卡區(qū)域的坐標,以實現(xiàn)24色色卡色塊區(qū)域的快速自動定位。具體來說,按比例估計色塊到色卡左邊緣的邊距11^作;[111^ = 175,對6\4 = 24個色塊,記行塊號為1(;[取1到6的整數(shù)),記列塊號為j( j取I到4的整數(shù)),則有第j行i個色塊的起始橫坐標為:StartX = X+marginL+(1-l)*(L+d),第j行i個色塊的起始縱坐標為:StartY = Y+( j-l)*(L+d),即計算出了各個色塊區(qū)域的坐標。
[0097]考慮到鏡頭光心與色卡拍照不垂直、鏡頭畸變等因素,最終取色塊區(qū)域時留出額外的邊距,如取3丨&1^乂 = 3丨&1^乂+3丨&1^乂/5,StartY = StartY+StartY/5。
[0098]如上所述,本發(fā)明的24色色卡色塊區(qū)域快速自動定位的系統(tǒng),根據(jù)所拍攝照片內(nèi)容、位置比較固定的特點,通過圖像處理突顯出各個色塊在豎直方向的邊線,進而快速準確的自動算出各色塊的區(qū)域,避免人工手動操作界面畫框,節(jié)約了人力和時間,而且計算量非常小,可在手機上實時運算。
[0099]圖6顯示了本發(fā)明【具體實施方式】中提供的24色色卡色塊區(qū)域快速自動定位的方法的流程圖。
[0100]下面結(jié)合圖6所示的流程圖,具體說明本實施例的24色色卡色塊區(qū)域快速自動定位的方法。
[0101]本實施例的24色色卡色塊區(qū)域快速自動定位的方法包括:
[0102]步驟SI,統(tǒng)計由拍攝照片形成的位圖上的跳變點。
[0103]具體來說,在步驟SI中,將照片解碼為24或者32位位圖。
[0104]為了更好的處理性能,跳變點統(tǒng)計單元10將位圖保持寬高比例縮放到最長邊不超過1200像素的位圖。
[0105]本步驟SI中的跳變點為非第一行、最后一行、第一列、最后一列上的像素H(X),且其上一行相同橫坐標的像素與其下一行相同橫坐標的像素滿足AbS(GrayV(X-W)-GrayV(X+¥))〈1>,其左邊的像素與其右邊的像素滿足4&8(6瓜7!^-1)-6瓜7!^+1))>111。
[0106]這里,Abs為取絕對值,w為位圖的寬度,h為位圖的高度,Tv和Th是給定的閥值,一般地,Tv = 10,Th = 30。
[0107]GrayV(x)=(77*R(x)+151*G(x)+28*B(x))/256;
[0108]GrayH(x) =Max(R(x) ,G(x) ,Β(χ));
[0109]R(x),G(x),B(x)分別為位圖在像素X處的R、G、B值;
[0110]Max表示取最大值。
[0111]步驟S2,利用豎直方向跳變點的連續(xù)、間斷規(guī)律計算出色塊的起始縱坐標和邊長,利用水平方向跳變點的出現(xiàn)位置計算出色塊的起始橫坐標,以計算出24色卡區(qū)域的坐標,實現(xiàn)24色色卡色塊區(qū)域的快速自動定位。
[0112]具體來說,參見圖7所示的方法流程圖,本步驟S2包括:
[0113]步驟S21,利用豎直方向跳變點的連續(xù)、間斷規(guī)律計算出色塊的起始縱坐標和邊長。
[0114]本步驟逐行統(tǒng)計每一行的跳變點數(shù)量,當前行的跳變點數(shù)量記為nCurLineJumpPoint,上一行的跳變點數(shù)量記為nLastLineJumpPoint;
[0115]當nCurLineJumpPoint> = THRESHOLD_BLOCK_Y;
[0116]且nLastLineJumpPoint〈THRESHOLD_BLOCK_Y;
[ΟΙ17]則當前行為潛在的色塊豎直方向起始坐標,記錄當前的行數(shù)為nBlockTop;
[0118]當nCurLineJumpPoint〈THRESHOLD_BLOCK_Y;
[0119]且nLastLineJumpPoint> = THRESHOLD_BLOCK_Y;
[0120]則當前行為潛在的色塊豎直方向終止坐標,記錄當前的行數(shù)為nBlockBottom;
[0121 ]記 nBlockLength = nBlockBottom_nBlockTop,如果 nBlockLength 大于當前位圖高度的1/10則認為是算出一個有效的色塊邊長L;
[0122]這里,THRESH0LD_BL0CK_YS給定閥值,一般取17。
[0123]—個具體實施例中,如圖2所示,求出它的跳變點并用繪制在空白位圖上,利用豎直方向跳變點的連續(xù)、間斷規(guī)律計算出色塊的起始縱坐標和邊長,如圖3所示第一條水平直線位置發(fā)現(xiàn)了潛在的色塊豎直方向起始坐標,第二條水平直線位置發(fā)現(xiàn)了潛在的色塊豎直方向終止坐標兩條直線之間的豎直方向距離即nBlockLength,也就是色塊的邊長為L。第一個有效色塊豎直方向起始坐標記為Y,繼續(xù)重復上面的步驟,再次發(fā)現(xiàn)有效的色塊豎直方向起始坐標、有效的色塊豎直方向終止坐標,如圖4所示,第二條水平直線與第三條水平直線間的距離即為色塊間距,記為d。
[0124]步驟S22,利用水平方向跳變點的出現(xiàn)位置計算出色塊的起始橫坐標。
[0125]參見圖2,在步驟S22中,從第一個有效色塊豎直方向起始坐標Y所在行從水平第一個像素起遍歷當前行的所有像素,如果當前像素是紅色,就判斷當前像素正下方1/10當前圖像高度的像素是否都主紅色,如果都是紅色的,則當前像素的橫坐標就是色塊的起始橫坐標X,否則繼續(xù)遍歷像素。
[0126]如圖5所示,水平直線上第一個紅點不滿足正下方1/10當前圖像高度的像素都是紅色,不是真正的色塊起始橫坐標點(是噪聲);水平直線上第二個紅點滿足正下方1/10當前圖像高度的像素都是紅色,故該點的橫坐標就是色塊的起始橫坐標X。
[0127]步驟S23,根據(jù)色塊的起始縱坐標、起始橫坐標和邊長計算出24色卡區(qū)域的坐標,以實現(xiàn)24色色卡色塊區(qū)域的快速自動定位。
[0128]本步驟按比例估計色塊到色卡左邊緣的邊距111&找^ = 175,對6\4 = 24個色塊,記行塊號為Ki取I到6的整數(shù)),記列塊號為j(j取I到4的整數(shù)),則有第j行i個色塊的起始橫坐標為:StartX = X+marginL+(i_l)*(L+d),第j行i個色塊的起始縱坐標為:StartY = Y+(j-l)*(L+d),即計算出了各個色塊區(qū)域的坐標。
[0129]考慮到鏡頭光心與色卡拍照不垂直、鏡頭畸變等因素,最終取色塊區(qū)域時留出額外的邊距,如取3丨&1^乂 = 3丨&1^乂+3丨&1^乂/5,StartY = StartY+StartY/5。
[0130]綜上所述,通過上述流程,可快速準確的自動算出各色塊的區(qū)域,避免人工手動操作界面畫框,節(jié)約了人力和時間。
[0131]應當理解的是,本發(fā)明的上述【具體實施方式】僅僅用于示例性說明或解釋本發(fā)明的原理,而不構(gòu)成對本發(fā)明的限制,例如也可以使用如canny等其它做圖像邊緣檢測的算子來代替sobel算子。因此,在不偏離本發(fā)明的精神和范圍的情況下所做的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。此外,本發(fā)明所附權利要求旨在涵蓋落入所附權利要求范圍和邊界、或者這種范圍和邊界的等同形式內(nèi)的全部變化和修改例。
【主權項】
1.一種24色色卡色塊區(qū)域快速自動定位的系統(tǒng),其中,所述系統(tǒng)包括: 跳變點統(tǒng)計單元(10),用于統(tǒng)計由拍攝照片形成的位圖上的跳變點; 坐標計算單元(20),與所述跳變點統(tǒng)計單元(10)連接,用于利用豎直方向跳變點的連續(xù)、間斷規(guī)律計算出色塊的起始縱坐標和邊長,利用水平方向跳變點的出現(xiàn)位置計算出色塊的起始橫坐標,以計算出24色卡區(qū)域的坐標,實現(xiàn)24色色卡色塊區(qū)域的快速自動定位。2.如權利要求1所述的系統(tǒng),其中,所述坐標計算單元(20)包括: 縱向計算模塊(21),用于利用豎直方向跳變點的連續(xù)、間斷規(guī)律計算出色塊的起始縱坐標和邊長; 橫向計算模塊(22),用于利用水平方向跳變點的出現(xiàn)位置計算出色塊的起始橫坐標; 坐標計算模塊(23),用于根據(jù)色塊的起始縱坐標、起始橫坐標和邊長計算出24色卡區(qū)域的坐標,以實現(xiàn)24色色卡色塊區(qū)域的快速自動定位。3.如權利要求2所述的系統(tǒng),其中,所述跳變點滿足: 為非第一行、最后一行、第一列、最后一列上的像素H(X),且其上一行相同橫坐標的像素與其下一行相同橫坐標的像素滿足AbS(GrayV(X-W)-GrayV(X+W))〈TV,其左邊的像素與其右邊的像素滿足 Abs (GrayH( x-1) _GrayH( x+1)) >Th ; 其中,Abs為取絕對值,w為位圖的寬度,h為位圖的高度,Tv和Th是給定的閥值; GrayV(x)=(77*R(x)+151*G(x)+28*B(x))/256; GrayH(x) =Max(R(x),G(x),B(X)); RU),G(x),B(x)分別為位圖在像素X處的R、G、B值; Max表示取最大值。4.如權利要求3所述的系統(tǒng),其中,所述縱向計算模塊(21)逐行統(tǒng)計每一行的跳變點數(shù)量,當前行的跳變點數(shù)量記為nCurLine JumpPo int,上一行的跳變點數(shù)量記為nLastLineJumpPoint; 當nCurLineJumpPoint> = THRESH0LD_BL0CK_Y; 且nLastLineJumpPoint〈THRESH0LD_BL0CK_Y; 則當前行為潛在的色塊豎直方向起始坐標,記錄當前的行數(shù)為nBlockTop; 當nCurLineJumpPoint〈THRESHOLD_BLOCK_Y; 且nLastLineJumpPoint> = THRESHOLD_BLOCK_Y; 則當前行為潛在的色塊豎直方向終止坐標,記錄當前的行數(shù)為nBlockBottom; 記 nBl ockLength = nBlockBo ttom-nBlockTop,如果 nBlockLength大于當前位圖高度的1/10則認為是算出一個有效的色塊邊長L; 其中THRESHOLD_BLOCK_Y為給定閥值。5.如權利要求4所述的系統(tǒng),其中,所述橫向計算模塊(22)從第一個有效色塊豎直方向起始坐標Y所在行從水平第一個像素起遍歷當前行的所有像素,如果當前像素是紅色,就判斷當前像素正下方1/10當前圖像高度的像素是否都主紅色,如果都是紅色的,則當前像素的橫坐標就是色塊的起始橫坐標X,否則繼續(xù)遍歷像素。6.如權利要求5所述的系統(tǒng),其中,記行塊號為i,記列塊號為j,則所述坐標計算模塊(23)計算出: 第j行i個色塊的起始橫坐標為:StartX = X+marginL+(1-l)*(L+d); 第j行i個色塊的起始縱坐標為:StartY = Y+( j-1 )*(L+d); 其中marginL = L/5,i取I到6的整數(shù),j取I到4的整數(shù),d為色塊間距。7.一種24色色卡色塊區(qū)域快速自動定位的方法,其中,所述方法包括: 統(tǒng)計由拍攝照片形成的位圖上的跳變點; 利用豎直方向跳變點的連續(xù)、間斷規(guī)律計算出色塊的起始縱坐標和邊長,利用水平方向跳變點的出現(xiàn)位置計算出色塊的起始橫坐標,以計算出24色卡區(qū)域的坐標,實現(xiàn)24色色卡色塊區(qū)域的快速自動定位。8.如權利要求7所述的方法,其中,所述利用豎直方向跳變點的連續(xù)、間斷規(guī)律計算出色塊的起始縱坐標和邊長,利用水平方向跳變點的出現(xiàn)位置計算出色塊的起始橫坐標,以計算出24色卡區(qū)域的坐標,實現(xiàn)24色色卡色塊區(qū)域的快速自動定位,包括: 利用豎直方向跳變點的連續(xù)、間斷規(guī)律計算出色塊的起始縱坐標和邊長; 利用水平方向跳變點的出現(xiàn)位置計算出色塊的起始橫坐標; 根據(jù)色塊的起始縱坐標、起始橫坐標和邊長計算出24色卡區(qū)域的坐標,以實現(xiàn)24色色卡色塊區(qū)域的快速自動定位。9.如權利要求8所述的方法,其中,所述跳變點滿足: 為非第一行、最后一行、第一列、最后一列上的像素H(X),且其上一行相同橫坐標的像素與其下一行相同橫坐標的像素滿足AbS(GrayV(X-W)-GrayV(X+W))〈TV,其左邊的像素與其右邊的像素滿足 Abs (GrayH( x-1) _GrayH( x+1)) >Th ; 其中,Abs為取絕對值,w為位圖的寬度,h為位圖的高度,Tv和Th是給定的閥值; GrayV(x)=(77*R(x)+151*G(x)+28*B(x))/256; GrayH(x) =Max(R(x),G(x),B(X)); RU),G(x),B(x)分別為位圖在像素X處的R、G、B值; Max表示取最大值。10.如權利要求9所述的方法,其中,所述利用豎直方向跳變點的連續(xù)、間斷規(guī)律計算出色塊的起始縱坐標和邊長,包括: 逐行統(tǒng)計每一行的跳變點數(shù)量,當前行的跳變點數(shù)量記為nCurLine JumpPoint,上一行的跳變點數(shù)量記為nLastLineJumpPoint; 當nCurLineJumpPoint> = THRESHOLD_BLOCK_Y; 且nLastLineJumpPoint〈THRESHOLD_BLOCK_Y; 則當前行為潛在的色塊豎直方向起始坐標,記錄當前的行數(shù)為nBlockTop; 當nCurLineJumpPoint〈THRESHOLD_BLOCK_Y; 且nLastLineJumpPoint> = THRESHOLD_BLOCK_Y; 則當前行為潛在的色塊豎直方向終止坐標,記錄當前的行數(shù)為nBlockBottom; 記nBl ockLength = nBlockBo ttom-nBlockTop,如果nBl ockLength大于當前位圖高度的1/10則認為是算出一個有效的色塊邊長L; 其中THRESHOLD_BLOCK_Y為給定閥值。11.如權利要求10所述的方法,其中,所述利用水平方向跳變點的出現(xiàn)位置計算出色塊的起始橫坐標,包括: 從第一個有效色塊豎直方向起始坐標Y所在行從水平第一個像素起遍歷當前行的所有像素,如果當前像素是紅色,就判斷當前像素正下方1/10當前圖像高度的像素是否都主紅色,如果都是紅色的,則當前像素的橫坐標就是色塊的起始橫坐標X,否則繼續(xù)遍歷像素。12.如權利要求11所述的方法,其中,所述根據(jù)色塊的起始縱坐標、起始橫坐標和邊長計算出24色卡區(qū)域的坐標,以實現(xiàn)24色色卡色塊區(qū)域的快速自動定位,包括: 記行塊號為i,記列塊號為j,則所述坐標計算模塊(23)計算出: 第j行i個色塊的起始橫坐標為:StartX = X+marginL+(1-l)*(L+d); 第j行i個色塊的起始縱坐標為:StartY = Y+( j-1 )*(L+d); 其中marginL = L/5,i取I到6的整數(shù),j取I到4的整數(shù),d為色塊間距。
【文檔編號】H04N9/73GK106060507SQ201610267094
【公開日】2016年10月26日
【申請日】2016年4月26日
【發(fā)明人】劉思翔
【申請人】樂視控股(北京)有限公司, 樂視移動智能信息技術(北京)有限公司