仪表识别方法汇总
儀表自動識別方法匯總
進入實驗室,接到的第一個任務,老師讓查一些儀表識別的解決方案,搜集了三天相關的博客和論文,自認為比較好的四個方法,自己總結了一下:數字儀表示數讀取
方法一:基于OpenCV和LSSVM的數字儀表讀數自動識別
步驟概括:
①采集圖像
②儀表圖像傾斜校正(Canny邊緣檢測與Hough變換相結合的傾斜校正方法)
③圖像的形體學處理(腐蝕、膨脹,簡化圖像數據,除去不相干結構)
④圖像二值化(將圖像分割為背景和目標兩部分,Otsu算法)
①特征分析(形狀、顏色和亮度)
②定位分割(基于連通域的方法進行定位分割/ 投影法)
③數字特征提取
方法二:openCV儀表數字識別
步驟概括:
1.自動定位數字區域(需要一張有數據的圖片,一張儀表關閉時沒有數據的圖片;儀表數字和背景的區別是數據會在短時間內變化,這樣在差分二值圖中未變化的背景區域就會被濾除)
2.如果是多行數據,對數據進行按行分割(投影法)
3.照片因為拍攝角度,數字可能發生傾斜,此時進行傾斜矯正(hough變換)
4.數字分隔提取,將每行數字單獨分割出來一個一個識別
①腐蝕操作,去除雜點
②膨脹,保證一個數字的數碼管都是相連的
③使用openCV的函數cvFindContours查找各個數字邊緣
④分別建立各個輪廓的輪廓矩
⑤將每個矩形切割出來,并單獨存為一個圖像
博客鏈接:https://blog.csdn.net/ZhtSunday/article/details/51931772
指針儀表示數讀取
方法一:基于深度學習的指針儀表示數識別
步驟概括:
①傳統表盤提取常用算法:
Hough變換(計算量大,抗干擾能力不強,效率較低)
區域生長分隔算法(需要手動選擇種子點和判斷停止條件)
②Faster-RCNN算法選用Caffe作為算法框架,C++為基礎語言
①通過灰度化(加權平均法)和二值化(將灰度變成僅有0和255,選擇合適的閾值,區域自適應法)
②標記出表盤刻度線和指針的連通域(四連通方式)
①提取指針(差影法、Hough變換檢測直線、最小二乘法)
②指針細化,找指針的骨架(最小二乘法擬合)
方法二:使用openCV進行指針儀表數值讀取
方案:模板匹配+k-means+直線擬合
步驟概括:
1.模板匹配是openCV自帶算法,可以根據一個模板圖到目標圖上尋找對應位置(兩次匹配,提高精度)
2.k-means算法對圖像進行二值化
3.旋轉擬合直線法,假設一條直線從右邊0度位置順時針繞中心旋轉當其轉到指針指向的位置時重合的最多,此時記錄角度,根據角度計算刻度值
博客鏈接:https://blog.csdn.net/a1053904672/article/details/88759335
總結
- 上一篇: CISCO PT IP电话7960 L
- 下一篇: 35. 并行和并发有什么区别?