圖像旋轉(zhuǎn)處理方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及圖像處理技術(shù)領(lǐng)域,特別是涉及一種圖像旋轉(zhuǎn)處理方法。
【背景技術(shù)】
[0002] 拍照時拍攝者手持照相機(jī),常常會使照相機(jī)處于傾斜狀態(tài),使得所拍攝的照片與 水平線之間有夾角,產(chǎn)生一定的傾斜。
[0003] 照片自動校正技術(shù)是指在給定的一張具有一定傾斜程度的照片,自動根據(jù)照片內(nèi) 容將其旋轉(zhuǎn)到正常角度(水平)的技術(shù)。傳統(tǒng)技術(shù)大多需要依賴拍攝裝置,以及讀取每張 照片的拍攝參數(shù),處理速度較慢。
【發(fā)明內(nèi)容】
[0004] 基于此,本發(fā)明提供一種圖像旋轉(zhuǎn)處理方法,對圖像的旋轉(zhuǎn)處理速度較快。
[0005] -種圖像旋轉(zhuǎn)處理方法,包括如下步驟:
[0006] 通過預(yù)設(shè)的訓(xùn)練樣本訓(xùn)練得到用于四方向校正的分類模型和用于角度擬合的回 歸模型;
[0007] 對輸入的圖像通過所述分類模型進(jìn)行校正;
[0008] 檢測所述圖像中包含的線段,判斷所述圖像包含的線段的數(shù)量是否大于預(yù)設(shè)閾 值;
[0009] 若是,則通過統(tǒng)計(jì)圖像中包含的線段的傾斜角度,確定圖像的旋轉(zhuǎn)角度;
[0010] 若否,則根據(jù)分類模型和所述回歸模型,將所述圖像采用基于編碼學(xué)習(xí)的方法確 定所述圖像的旋轉(zhuǎn)角度。
[0011] 上述圖像旋轉(zhuǎn)處理方法,檢測出待旋轉(zhuǎn)圖像是否具有明顯的短直線特征,若有,則 通過圖像上具有的線段的傾斜角度確定圖像的旋轉(zhuǎn)角度;若圖像沒有明顯的短直線特征, 則通過基于編碼學(xué)習(xí)的方法,通過已訓(xùn)練得到的模型,對圖像自動檢測得到旋轉(zhuǎn)角度;本發(fā) 明不依賴與圖像的拍攝設(shè)備,從照片內(nèi)容進(jìn)行自動旋轉(zhuǎn);也無須檢測拍攝參數(shù),不受限于圖 像格式與類型,其自動旋轉(zhuǎn)的處理速度非??臁?br>【附圖說明】
[0012] 圖1為本發(fā)明圖像旋轉(zhuǎn)處理方法在一實(shí)施例中的流程示意圖。
[0013] 圖2為城樓圖像進(jìn)行線段檢測的示意圖。
[0014] 圖3為Gabor濾波模板示意圖。
[0015] 圖4為圖像塊的主方向角度直方圖及一張圖像包含的多個圖像塊合并后的主方 向角度直方圖示意圖。
【具體實(shí)施方式】
[0016] 下面結(jié)合實(shí)施例及附圖對本發(fā)明作進(jìn)一步詳細(xì)說明,但本發(fā)明的實(shí)施方式不限于 此。
[0017] 不管拍攝的室內(nèi)照片,還是拍攝室外照片,大部分具有直線結(jié)構(gòu)特征(比如室外 的建筑物,室內(nèi)的家具等),并且這些直線與地面有垂直關(guān)系。考慮該類照片具有良好的短 直線結(jié)構(gòu)特征,可以根據(jù)這些線特征有效的估計(jì)照片的旋轉(zhuǎn)角度,并以此校正照片。然而有 一部分照片并不具有明顯的直線結(jié)構(gòu)特征,對于這種情況,采用基于字典學(xué)習(xí)和編碼的方 式估算旋轉(zhuǎn)角度。
[0018] 如圖1所示,是本發(fā)明一種圖像旋轉(zhuǎn)處理方法的流程示意圖,包括如下步驟:
[0019] S11、通過預(yù)設(shè)的訓(xùn)練樣本訓(xùn)練得到用于四方向校正的分類模型和用于角度擬合 的回歸模型;
[0020] 在一較佳實(shí)施例中,該步驟包括:
[0021] 獲取輸入的多張訓(xùn)練圖像作為訓(xùn)練樣本;其中,所述訓(xùn)練圖像包括水平方向的訓(xùn) 練圖像和已知旋轉(zhuǎn)角度的訓(xùn)練圖像;
[0022] 對所述訓(xùn)練圖像進(jìn)行關(guān)鍵點(diǎn)檢測,獲得所述訓(xùn)練圖像包含的多個圖像塊,檢測所 述訓(xùn)練圖像包含的每個所述圖像塊的局部SIFT特征,獲得所述訓(xùn)練圖像中各個圖像塊的 王方向角度;
[0023] 將所有訓(xùn)練圖像包含的每個所述圖像塊的局部SIFT特征,采用字典學(xué)習(xí)的方法 獲得聚類中心作為視覺單詞,生成特征字典;其中,所述視覺單詞記錄每個圖像塊及其主方 向角度;
[0024] 通過視覺單詞中記錄的主方向角度,根據(jù)預(yù)設(shè)的篩選條件刪除部分無效視覺單 詞;比如,根據(jù)每個主方向角度生成直方圖,若直方圖中存在兩個相同的峰值,則該視覺單 詞無效,可刪除該視覺單詞;或者,將直方圖按主方向角度值從大到小排序,最大的峰值與 第二峰值的差值小于預(yù)設(shè)閾值,也可刪除該視覺單詞;
[0025] 將每張所述訓(xùn)練圖像包含的圖像塊通過所述特征字典采用稀疏矩陣編碼的方式 進(jìn)行編碼;將每張訓(xùn)練圖像中的多個圖像塊對應(yīng)的主方向角度進(jìn)行合并,得到每張訓(xùn)練圖 像合并后的主方向角度直方圖;
[0026] 根據(jù)所有訓(xùn)練圖像合并后的主方向角度直方圖生成用于四方向校正的分類模型 和用于角度擬合的回歸模型。
[0027] S12、對輸入的圖像進(jìn)行校正;
[0028] 首先對輸入的圖像通過所述分類模型進(jìn)行四方向的校正,即判定0°、90°、 180°、270°的旋轉(zhuǎn)(比如原始圖像需旋轉(zhuǎn)245°,通過分類的方法,將原始圖旋轉(zhuǎn)到 245° -180° =65°,之后的65°可采用后續(xù)的回歸模型擬合得到),其中0°表示不旋轉(zhuǎn)。
[0029] S13、檢測所述圖像中包含的線段,判斷所述圖像包含的線段的數(shù)量是否大于預(yù)設(shè) 閾值;
[0030] 從圖像內(nèi)容中檢測是否包含有線段,根據(jù)預(yù)設(shè)閾值,多于一定數(shù)量可判斷該圖像 具有明顯線段特征。
[0031] 在一較佳實(shí)施例中,所述檢測所述圖像中包含的線段的步驟可包括:
[0032] 將所述圖像轉(zhuǎn)換為灰度圖像;
[0033] 計(jì)算所述灰度圖像中每個像素點(diǎn)的梯度值,其中,所述梯度值包括梯度幅值和梯 度角度;
[0034] 按所述灰度圖像中所有像素點(diǎn)的梯度幅值大小將所述像素點(diǎn)及其梯度幅值劃分 多個維度,生成所述灰度圖像的梯度幅值直方圖;
[0035] 將每個維度中梯度幅值最大的像素點(diǎn)作為種子添加進(jìn)備選短線區(qū)域,以所述種 子的梯度角度作為備選短線區(qū)域的角度初始值,搜索以所述種子為中心的8個鄰近像素 點(diǎn),計(jì)算鄰近像素點(diǎn)的梯度角度,當(dāng)滿足預(yù)設(shè)的判定條件時,將鄰近像素點(diǎn)添加進(jìn)所述備選 短線區(qū)域中;
[0036] 更新所述備選短線區(qū)域及其角度值;
[0037] 當(dāng)搜索完所有維