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