梯形校正方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明涉及數(shù)字圖像處理與顯示技術(shù)應(yīng)用領(lǐng)域,特別是涉及一種梯形校正方法及系統(tǒng)。
【背景技術(shù)】
[0002]在數(shù)字圖像處理領(lǐng)域,由于原始采集的圖像或視頻一般都為矩形區(qū)域,出于人眼視覺(jué)觀感習(xí)慣或美學(xué)的目的,在對(duì)單個(gè)或多個(gè)矩形圖像與視頻進(jìn)行二次合成的過(guò)程中,往往需要對(duì)原始的矩形圖像或視頻進(jìn)行梯形變換,這樣以達(dá)滿足不同紋理合成的需求。在常用的顯示設(shè)備中,例如顯示器,投影儀等,由于顯示屏幕與投影光源的相對(duì)位置差別,往往也需要進(jìn)行相應(yīng)的梯形校正來(lái)達(dá)成視覺(jué)的最佳。
[0003]在實(shí)際的應(yīng)用實(shí)現(xiàn)系統(tǒng)中,基于運(yùn)算的時(shí)間復(fù)雜度和空間復(fù)雜度的運(yùn)算成本的考慮,梯形校正通常分解成包括X軸方向的校正和Y軸方向的校正來(lái)達(dá)成。X軸方向和Y軸方向的校正具有完全的實(shí)現(xiàn)一致性。
[0004]參見(jiàn)圖1,以Y軸方向的校正為例,為了達(dá)成圖1所示的Y軸方向的梯形校正,則需要對(duì)于Y軸上每一行進(jìn)行scaling運(yùn)算(亦稱作line scaling,行縮放)。由于是要達(dá)成在Y軸上的梯形變換,則每一行的scaling比例都不一樣。傳統(tǒng)的做法是:在進(jìn)行l(wèi)inescaling運(yùn)算的時(shí)候,對(duì)于初始相位設(shè)定一個(gè)固定值,例如,設(shè)定初始相位為zero (O),然后對(duì)于每一行都采取相同的策略。這種做法較為通俗簡(jiǎn)單,對(duì)于一般的圖像也基本能夠滿足要求。但是對(duì)于邊沿有相同的屬性的圖像,采用該做法校正后會(huì)造成圖像不對(duì)稱顯示,如圖1所示。尤其是對(duì)于投影儀或大尺寸的屏幕顯示的時(shí)候,由于其分辨率相對(duì)較小,圖像不對(duì)稱顯示更為明顯。
【發(fā)明內(nèi)容】
[0005]基于此,有必要針對(duì)現(xiàn)有技術(shù)的缺陷和不足,提供一種梯形校正方法及系統(tǒng),以實(shí)現(xiàn)圖像的對(duì)稱顯示。
[0006]為實(shí)現(xiàn)本發(fā)明目的而提供的梯形校正方法,包括以下步驟:
[0007]輸入原始圖像的數(shù)據(jù);
[0008]判斷當(dāng)前輸入的所述原始圖像的數(shù)據(jù)是否為新的一行或一列的開(kāi)始;
[0009]若判斷為是,則根據(jù)預(yù)設(shè)的對(duì)稱相位算法,計(jì)算所述原始圖像的當(dāng)前輸入行或輸入列的圖像起始點(diǎn)的相位;
[0010]根據(jù)計(jì)算出的所述輸入行或輸入列的圖像起始點(diǎn)的相位,對(duì)該行或該列進(jìn)行scaling運(yùn)算,得到圖像起始點(diǎn)的相位與圖像結(jié)束點(diǎn)的相位完全對(duì)稱的目標(biāo)圖像,并進(jìn)行目標(biāo)圖像輸出。
[0011]其中,所述預(yù)設(shè)的對(duì)稱相位算法為:
[0012]以零相位作為初始相位,對(duì)所述原始圖像的當(dāng)前輸入行或輸入列的每一個(gè)像素點(diǎn)進(jìn)行scaling運(yùn)算,得到對(duì)應(yīng)的輸出行或輸出列的每一個(gè)像素點(diǎn)的相位值;取得到的所述輸出行或輸出列的最后一個(gè)像素點(diǎn)的相位值的絕對(duì)值的一半,即為對(duì)應(yīng)的所述原始圖像的當(dāng)前輸入行或輸入列的圖像起始點(diǎn)的相位。
[0013]在其中一個(gè)實(shí)施例中,本發(fā)明的梯形校正方法,還包括以下步驟:
[0014]若判斷當(dāng)前輸入的所述原始圖像的數(shù)據(jù)不是新的一行或新的一列的開(kāi)始,則進(jìn)行相位累加。
[0015]在其中一個(gè)實(shí)施例中,本發(fā)明的梯形校正方法,還包括以下步驟:
[0016]對(duì)輸入的所述原始圖像的數(shù)據(jù)進(jìn)行緩存。
[0017]在其中一個(gè)實(shí)施例中,本發(fā)明的梯形校正方法,還包括以下步驟:
[0018]對(duì)輸出的所述目標(biāo)圖像的數(shù)據(jù)進(jìn)行緩存。
[0019]相應(yīng)的,為實(shí)現(xiàn)本發(fā)明目的還提供一種梯形校正系統(tǒng),包括輸入模塊、判斷模塊、初始相位計(jì)算模塊以及濾波模塊;
[0020]所述輸入模塊,用于輸入原始圖像的數(shù)據(jù);
[0021]所述判斷模塊,用于判斷當(dāng)前輸入的所述原始圖像的數(shù)據(jù)是否為新的一行或一列的開(kāi)始;
[0022]所述初始相位計(jì)算模塊,用于在所述判斷模塊判斷當(dāng)前輸入的所述原始圖像的數(shù)據(jù)為新的一行或一列的開(kāi)始時(shí),根據(jù)預(yù)設(shè)的對(duì)稱相位算法,計(jì)算所述原始圖像的當(dāng)前輸入行或輸入列的圖像起始點(diǎn)的相位;
[0023]所述濾波模塊,用于根據(jù)計(jì)算出的所述輸入行或輸入列的圖像起始點(diǎn)的相位,對(duì)該行或該列進(jìn)行scaling運(yùn)算,得到圖像起始點(diǎn)的相位與圖像結(jié)束點(diǎn)的相位完全對(duì)稱的目標(biāo)圖像,并進(jìn)行目標(biāo)圖像輸出。
[0024]其中,所述預(yù)設(shè)的對(duì)稱相位算法為:
[0025]以零相位作為初始相位,對(duì)所述原始圖像的當(dāng)前輸入行或輸入列的每一個(gè)像素點(diǎn)進(jìn)行scaling運(yùn)算,得到對(duì)應(yīng)的輸出行或輸出列的每一個(gè)像素點(diǎn)的相位值;取得到的所述輸出行或輸出列的最后一個(gè)像素點(diǎn)的相位值的絕對(duì)值的一半,即為對(duì)應(yīng)的所述原始圖像的當(dāng)前輸入行或輸入列的圖像起始點(diǎn)的相位。
[0026]在其中一個(gè)實(shí)施例中,本發(fā)明的梯形校正系統(tǒng)還包括相位累加模塊;
[0027]所述相位累加模塊,用于在所述判斷模塊判斷當(dāng)前輸入的所述原始圖像的數(shù)據(jù)不是新的一行或一列的開(kāi)始時(shí),進(jìn)行相位累加。
[0028]在其中一個(gè)實(shí)施例中,本發(fā)明的梯形校正系統(tǒng)還包括輸入緩存模塊;
[0029]所述輸入緩存模塊,用于對(duì)輸入的所述原始圖像的數(shù)據(jù)進(jìn)行緩存。
[0030]在其中一個(gè)實(shí)施例中,本發(fā)明的梯形校正系統(tǒng)還包括輸出緩存模塊;
[0031 ] 所述輸出緩存模塊,用于對(duì)輸出的所述目標(biāo)圖像的數(shù)據(jù)進(jìn)行緩存。
[0032]本發(fā)明的有益效果:本發(fā)明提供的梯形校正方法及系統(tǒng),通過(guò)采用對(duì)稱相位算法計(jì)算原始圖像的每一行和/或每一列的圖像起始點(diǎn)的相位,作為scaling運(yùn)算的初始相位,對(duì)該原始圖像的對(duì)應(yīng)行或列進(jìn)行scaling運(yùn)算,可以得到圖像起始點(diǎn)的相位與圖像結(jié)束點(diǎn)的相位完全對(duì)稱的目標(biāo)圖像。對(duì)于邊沿有相同的屬性的圖像,采用本發(fā)明的梯形校正方法及系統(tǒng)校正后會(huì)可完全消除傳統(tǒng)的梯形校正所帶來(lái)的圖像不對(duì)稱顯示的瑕疵,即使是分辨率相對(duì)較小的投影儀或大尺寸的屏幕,也能夠?qū)崿F(xiàn)相對(duì)完美的圖像對(duì)稱顯示。
【附圖說(shuō)明】
[0033]為了使本發(fā)明的梯形校正方法及系統(tǒng)的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合具體附圖及具體實(shí)施例,對(duì)本發(fā)明的梯形校正方法及系統(tǒng)進(jìn)行進(jìn)一步詳細(xì)說(shuō)明。
[0034]圖1為傳統(tǒng)的梯形校正方法的處理過(guò)程參照示意圖;
[0035]圖2為本發(fā)明梯形校正方法的一實(shí)施例的流程圖;
[0036]圖3為圖2所示的本發(fā)明的梯形校正方法的處理過(guò)程參照示意圖;
[0037]圖4為圖2所示的本發(fā)明的梯形校正方法的實(shí)現(xiàn)裝置示意圖;
[0038]圖5為本發(fā)明的梯形校正系統(tǒng)的一實(shí)施例的結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0039]下面將結(jié)合實(shí)施例來(lái)詳細(xì)說(shuō)明本發(fā)明。需要說(shuō)明的是,在不沖突的情況下,本申請(qǐng)中的實(shí)施例及實(shí)施例中的特征可以相互組合。
[0040]如圖2所示,本發(fā)明提供的一實(shí)施例的梯形校正方法,包括以下步驟:
[0041]S100,輸入原始圖像的數(shù)據(jù)。
[0042]由于梯形校正通常分解成包括X軸方向的校正和Y軸方向的校正來(lái)達(dá)成,所以原始圖像的數(shù)據(jù)輸入時(shí)可以逐行或逐列進(jìn)行輸入。
[0043]S200,判斷當(dāng)前輸入的原始圖像的數(shù)據(jù)是否為新的一行或一列的開(kāi)始。
[0044]S300,若判斷為是,則根據(jù)預(yù)設(shè)的對(duì)稱相位算法,計(jì)算原始圖像的當(dāng)前輸入行或輸入列的圖像起始點(diǎn)的相位。
[0045]相反,若判斷當(dāng)前輸入的原始圖像的數(shù)據(jù)不是新的一行或新的一列的開(kāi)始,則進(jìn)行相位累加。
[0046]步驟S300中計(jì)算出的原始圖像的當(dāng)前輸入行或輸入列的圖像起始點(diǎn)的相位滿足以下條件:以計(jì)算出的輸入行或輸入列的圖像起始點(diǎn)的相位為初始相位,經(jīng)scaling運(yùn)算后得到的目標(biāo)圖像的目標(biāo)行或目標(biāo)列的圖像起始點(diǎn)的相位與結(jié)束點(diǎn)的相位對(duì)稱。
[0047]S400,根據(jù)計(jì)算出的輸入行或輸入列的圖像起始點(diǎn)的相位,對(duì)該行或該列進(jìn)行scaling運(yùn)算,得到圖像起始點(diǎn)的相位與圖像結(jié)束點(diǎn)的相位完全對(duì)稱的目標(biāo)圖像,并進(jìn)行目標(biāo)圖像輸出。
[0048]由于X軸方向和Y軸方向的校正具有完全的實(shí)現(xiàn)一致性,所以接下來(lái)以Y軸方向的校正過(guò)程為例對(duì)本發(fā)明進(jìn)行說(shuō)明,X軸方向的校正可參照Y軸方向的校正同理實(shí)現(xiàn)。
[0049]在一個(gè)完整的圖像中,Y方向上存在η行,即從第I行至第η行,Y軸上的梯形變換過(guò)程則是η次數(shù)的line scaling運(yùn)算,每一次line scaling是一次完整的濾波運(yùn)算過(guò)程。本發(fā)明為保證濾波后(即梯形校正后)得到的目標(biāo)圖像行或列的起始點(diǎn)的相位與結(jié)束點(diǎn)的相位相對(duì)完美對(duì)稱,對(duì)于輸入的原始圖像數(shù)據(jù)在進(jìn)行濾波運(yùn)算之前進(jìn)行判斷,并且在每一新行開(kāi)始時(shí)都重新計(jì)算該行起始點(diǎn)的相位,保證輸出的目標(biāo)圖像每一行都有相對(duì)完美對(duì)稱的相位屬性。
[0050]為了計(jì)算滿足條件的原始圖像的當(dāng)前輸入行或輸入列的圖像起始點(diǎn)的相位,本發(fā)明提出了一種對(duì)稱相位算法的可實(shí)施方式,說(shuō)明如下:
[0051]首先,以零相位作為初始相位,對(duì)原始圖像的當(dāng)前輸入行或輸入列的每一個(gè)像素點(diǎn)進(jìn)行scaling運(yùn)算,得到對(duì)應(yīng)的輸出行或輸出列的每一個(gè)像素點(diǎn)的相位值。即輸出行或輸出列的第一個(gè)像素點(diǎn)的起始運(yùn)算位置落在對(duì)應(yīng)的原始圖像的輸入行或輸入列的零相位處;
[0052]然后,取得到的輸出行或輸出列的最后一個(gè)像素點(diǎn)的相位值的絕對(duì)值的一半,即為對(duì)應(yīng)的原始圖像的當(dāng)前輸入行或輸入列的圖像起始點(diǎn)的相位。
[0053]例如,原始圖像的輸入行(簡(jiǎn)稱輸入行orglmg),像素點(diǎn)數(shù)目為n,目標(biāo)圖像的輸出行(簡(jiǎn)稱輸出行tgtlmg),像素點(diǎn)為m。輸出行tgtlmg的每一個(gè)新的像素點(diǎn)從第I點(diǎn)至第m點(diǎn)均由輸入行orglmg的像素點(diǎn)(第I至η點(diǎn))參考運(yùn)算出來(lái)。
[0054]先假定輸出行tgtlmg的第I個(gè)點(diǎn)的起始運(yùn)算位置落在輸入行orglmg的起始點(diǎn)處(零相位處),那么經(jīng)過(guò)m次運(yùn)算后,也就是第m次的運(yùn)算相位值rPhase就可以得出,取rPhase絕對(duì)值的一半,即得到了本發(fā)明所要計(jì)算的輸入行orglmg的起始點(diǎn)的相位zeroPhase 的值。
[0055]采用上述對(duì)稱相位算法計(jì)算得到的原始圖像的每一行和/或每一列的圖像起始點(diǎn)的相位,作為scaling運(yùn)算的初始相位,對(duì)該原始圖像的對(duì)應(yīng)行或列進(jìn)行scaling運(yùn)算,即可得到圖像起始點(diǎn)的相位與圖像結(jié)束點(diǎn)的相位完全對(duì)稱的目標(biāo)圖像,如圖3所示。
[0056]上述實(shí)施例中的對(duì)稱相位算法也可以通過(guò)以下方式實(shí)現(xiàn):
[0057]舉例說(shuō)明:原始圖像的輸入行圖像每?jī)蓚€(gè)點(diǎn)之間存在32個(gè)相位(phase),如果起始點(diǎn)的相位為10,那么則要