最近做一個圖像中文字方向判定的需求,4分類任務。
在處理數據的時候發現,在電腦上顯示水平的圖片,用opencv-imread讀進來的時候,會出現旋轉,且旋轉方向不定。之前也遇到過類似的問題,但當時任務本身對方向不敏感,且預處理本身也會做左右上下的翻轉以及小角度的旋轉,這樣的數據增強操作,而此次方向分類的任務對方向及其敏感。所以不得不解決這個問題。
圖片旋轉的原因:
圖片本身的矩陣就是旋轉的,顯示水平是因爲系統在展示圖片前,做了處理。這個處理是根據圖片中exif信息做的。
我們在代碼中用opencv讀取圖片的時候,是缺失了這一部分信息的。
https://cloud.tencent.com/developer/article/1523050
用PIL.Image即可獲取到相關信息。
但在實際操作過程中,有些圖片是沒有exif這個信息的,有些exif信息中是沒有exif_orientation_tag這個key的,另外我處理的圖片中出現了exif_orientation_tag對應值爲0,沒有找到value爲0的對應情況。