11.openCV車牌號識別

openCV 車牌號識別(車牌分類 漢字識別模型 數(shù)字字母識別模型)

機器學習:

  • SVM 支持向量機
  • ANN人工神經(jīng)網(wǎng)絡

SVM分類工具算法 使用正樣本和負樣本訓練

圖片去噪: 二值化和灰度化

車牌定位過程:

graph LR
A(高斯模糊)-->B(灰度化)
B-->C(邊緣檢測)
C-->D(二值化)
D-->E(閉操作)
E-->F(查找輪廓)
F-->G(篩選)
G-->H(角度尺寸矯正)
H-->I(SVM評測)
I-->J(確定定位)
  1. 高斯模糊

    Mat blur;
    GaussianBlur(src,blur,size(5,5),0);
    
  2. 灰度化

    Mat gray;
    cvtColor(blur,gray,COLOR_BGR2GRAY);
    
  3. 邊緣檢測

    Mat sobel_16;
    sobel(gray,sobel_16,CV_165,1,0);
    

    sobel算子僅能對灰度圖像有效果,不能將色彩圖像作為輸入

    調(diào)用時以16位保存數(shù)據(jù), 后續(xù)顯示需要轉(zhuǎn)回8位

  4. 二值化

    Mat shold;
    threshold(sobel,shold,0,255,THRESH_OTSU);
    
  5. 閉操作(膨脹腐蝕)

    Mat close;
    Mat element = getStructuringElement(MORPH_RECT,size(17,3));
    morphologyEx(shold,close,MORPH_CLOSE,element);
    
  6. 查找輪廓

    vector<vector<Point>> contours;
    findContours(close,contours,RETR_EXTERNAL,CHAIN_APPROX_NONE);
    //遍歷
    vector<RotatedRect> vec_sobel_roi;
    for(vector<Point> point : contours){
     RotatedRect rotatedRect = minAreaRect(point);
     rectangle(src,rotatedRect,boundingRect(),Scalar(255,0,255));
     //初步篩選完全不符合的去除
      if(verifysizes(rotatedRect)){
         vec_sobel_roi,push_back(rotatedRect);
      }
    }
    

    RotatedRect 帶旋轉(zhuǎn)角度的矩形 矯正角度傾斜的車牌 找出候選車牌

    //矩形矯正(角度判斷长搀,旋轉(zhuǎn)矩形背零,調(diào)整大小)
    tortuosity(src, vec_color_rects, dst);
    

機器學習:

  • 從候選車牌確定最終車牌 SVM支持向量機的訓練
  • 從車牌中識別車牌字符 ANN人工神經(jīng)網(wǎng)絡

提取特征數(shù)據(jù)(常用LBP/HAAR/HOG)

Mat features;
getHogFeatures(svmHog,shold,features);
Mat samples = features.reshape(1,1);//將特征置位1行
//SVM評測  分值越低越有可能是車牌
float score = svm->predict(samples,noArray(),statModel::Flags::RAW_OUTPUT);

SVM訓練必須是CV_32F1(表示數(shù)據(jù)為32位浮點型 單通道)

samples.converTo(samples,CV_32F1);
//ROW_SAMPLE  數(shù)據(jù)以一行保存
Prt<TrainData> trainData = TrainData::create(samples,SampleTypes::ROW_SAMPLE,labels);

創(chuàng)建SVM開始訓練

Prt<SVM> classifier = SVM::create();
classifier->trainAuto(...);
classifier->save(...);

HSV/HSB顏色空間

openCV中 H值:100~140 S和V值:95~255 表示藍色范圍

Mat hsv;
cvtColor(src,hsv,COLOR_BGR2HSV);
//顏色匹配
int channels= hsv.channels();//共有3個通道  H\S\V
int h= hsv.rows;
int w = hsv.cols*channels;
if(hsv.isContinuous()){//判斷是否是一行數(shù)據(jù)  矩陣是否連續(xù)
    w*=h;
    h=1;
}
for(size_t i=0;i<h;i++){
    uchar *p = hsv.ptr<uchar>(i);
    for(size)t j=0;j<w;j+=3){
        int h = int(p[j]);
        int s = int(p[j+1]);
        int v = int(p[j+2]);
        bool blue = false;
        if (h >= 100 && h <= 140 &&
                s >= 95 && s <= 255 &&
                v >= 95 && v <= 255) {
                blue = true;
        }
        if(blue){//將藍色變白  將其他色變黑
            p[j] = 0;
            p[j+1]=0;
            p[j+2]=255;
        }else{
            p[j] = 0;
            p[j+1]=0;
            p[j+2]=0;
        }
    }
}
圖片.png
圖片.png

字符分割與識別

文字輪廓檢測問題 先找出第2個字母(通過7等分位置定位)

ANN人工神經(jīng)網(wǎng)絡

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市骤视,隨后出現(xiàn)的幾起案子愕提,更是在濱河造成了極大的恐慌锐墙,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,602評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件构罗,死亡現(xiàn)場離奇詭異铜涉,居然都是意外死亡,警方通過查閱死者的電腦和手機遂唧,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,442評論 2 382
  • 文/潘曉璐 我一進店門芙代,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人盖彭,你說我怎么就攤上這事纹烹。” “怎么了召边?”我有些...
    開封第一講書人閱讀 152,878評論 0 344
  • 文/不壞的土叔 我叫張陵铺呵,是天一觀的道長。 經(jīng)常有香客問我隧熙,道長片挂,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,306評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮音念,結(jié)果婚禮上沪饺,老公的妹妹穿的比我還像新娘。我一直安慰自己闷愤,他們只是感情好整葡,可當我...
    茶點故事閱讀 64,330評論 5 373
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著肝谭,像睡著了一般掘宪。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上攘烛,一...
    開封第一講書人閱讀 49,071評論 1 285
  • 那天魏滚,我揣著相機與錄音,去河邊找鬼坟漱。 笑死鼠次,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的芋齿。 我是一名探鬼主播腥寇,決...
    沈念sama閱讀 38,382評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼觅捆!你這毒婦竟也來了赦役?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,006評論 0 259
  • 序言:老撾萬榮一對情侶失蹤栅炒,失蹤者是張志新(化名)和其女友劉穎掂摔,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體赢赊,經(jīng)...
    沈念sama閱讀 43,512評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡乙漓,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,965評論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了释移。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片叭披。...
    茶點故事閱讀 38,094評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖玩讳,靈堂內(nèi)的尸體忽然破棺而出涩蜘,到底是詐尸還是另有隱情,我是刑警寧澤熏纯,帶...
    沈念sama閱讀 33,732評論 4 323
  • 正文 年R本政府宣布皱坛,位于F島的核電站,受9級特大地震影響豆巨,放射性物質(zhì)發(fā)生泄漏剩辟。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,283評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望贩猎。 院中可真熱鬧熊户,春花似錦、人聲如沸吭服。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,286評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽艇棕。三九已至蝌戒,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間沼琉,已是汗流浹背北苟。 一陣腳步聲響...
    開封第一講書人閱讀 31,512評論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留打瘪,地道東北人友鼻。 一個月前我還...
    沈念sama閱讀 45,536評論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像闺骚,于是被迫代替她去往敵國和親彩扔。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 42,828評論 2 345