GOCVHelper圖像處理算法庫實例整編

    GOCVHelper主要包含圖像處理、圖像增強和基礎文件處理三個部分。由於前兩個部分較具有通用性,而且我在不同項目中都進行了反覆使用,爲了進一步說明類庫內容,這裏反過來從項目角度出發,對現有的類庫進行整理;
    第三個部分,增加的是從OpenCV角度出發,哪些和處理增強相關的代碼在實際項目過程中得到充分使用的。
一、輪廓處理
    邊界是圖像處理的重要部分,所以輪廓處理肯定是圖像處理中的重要內容,這裏的操作,主要是爲了獲得“量化”的結果。
(一)輪廓的篩選
1、FindBigestContour 以及 FindnthContour(尋找最大的輪廓和尋找第N大的輪廓)
2、selectShapeArea 、selectShapeCircularity(根據輪廓的面積和圓度進行選擇)
3、connection2(尋找並繪製出彩色聯通區域)
(二)輪廓的處理
4、getOrientation(獲得主要方向,在圖上進行標繪)
5、projection2(投影到x或Y軸上)
(三)雜項
7、SmoothEdgeSingleChannel(輪廓柔化)
 
二、圖像增強
    這裏所謂的“圖像增強”,簡單來說,輸入和輸出都是圖像。增強可以作爲下一步識別的輸入,也可以直接作爲結果存在。根據輸入的圖像是3通道彩色圖像還是灰白圖像進行簡單區分.
(一)3通道彩色圖像
1、multiScaleSharpen(多尺度圖像增強)
2、moveLightDiff(頂帽去光差)
3、translucence、mosaic(rect區域半透明和馬賽克)
  • EasyPR https://gitee.com/liuruoze/EasyPR
4、GetHsVDistance(基於顏色直方圖的距離計算)
5、Multiply、Color_Burn、Linear_Burn(正片疊底、顏色加深、線性增強)
6、EnhanceSaturation(飽和度提升)
(二)灰色圖像增強
7、thin(細化算法)
8、ACE(圖像局部對比度增強算法)
9、LocalNormalization(LN算法)
10、barcodeErode(條碼專用腐蝕)
三、其它處理和增強代碼
1、adaptiveThreshold 相對於一般的閾值化操作,當圖像中出現較大明暗差距時,自適應閾值時非常有效的
2、fastNlMeansDenoising 對椒鹽噪聲中值濾波效果比較好,對高斯噪聲非局部均值去噪效果比較好
3、equalizeHist 經典的全局直方圖均衡,無需更多說明
4、CLAHE 經典的局部上下門限直方圖處理,可惜OpenCV的實現好像差點意思
5、dft 傅里葉變換的最大價值在於將圖像處理擴展到頻率域,從而引入了很多新方法。
6、distanceTransform 《Finding distance between two curves》  代碼富有彈性、函數應用合理 https://www.cnblogs.com/jsxyhelu/p/16948034.html
7、pointPolygonTest  《如何尋找已知輪廓的最大內接圓》https://www.cnblogs.com/jsxyhelu/p/16948017.html
相關代碼已經被OpenCV收錄:/samples/cpp/tutorial_code/ShapeDescriptors/pointPolygonTest_demo.cpp
8、圖像局部特徵點檢測算法綜述  https://www.cnblogs.com/jsxyhelu/p/16947972.html   特徵點提取在“目標識別、圖像拼接、運動 跟蹤、圖像檢索、自動定位”等研究中起着重要作用;我們這裏通過一個綜合實驗來對OpenCV提供的特徵提取方法進行比對。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章