色婷五一,精品亚洲欧美一区二区三区日产 ,精选国产AV剧情,无码丰满少妇2在线观看

18600329666

咨詢技術(shù)專家

掃一掃
與技術(shù)專家在線溝通

Menu
圖片字母,數(shù)字識別技術(shù)
         圖片字母,數(shù)字識別技術(shù),本文主要講解圖片中字母以及數(shù)字的識別技術(shù),主要應(yīng)用有車牌號識別軟件,鈔票編碼識別,稅號識別等應(yīng)用系統(tǒng)中,圖片文字識別技術(shù)應(yīng)用在很多重要的工業(yè)領(lǐng)域不僅能夠節(jié)省重復(fù)的人力成而且能夠增加識別歸檔的準(zhǔn)確率
       一、主要思路
     
 將降噪后的圖片切成單個的字母或文字,同svm技術(shù)訓(xùn)練機(jī)器的識別能力,逐漸提高準(zhǔn)確率
       二、使用技術(shù)

  • python3.5

    python SDK版本

  • PIL

    圖片處理庫

  • libsvm

    開源的svm機(jī)器學(xué)習(xí)庫
    三、基本流程

    1. 準(zhǔn)備原始圖片素材
    2. 圖片預(yù)處理
    3. 圖片字符切割
    4. 圖片尺寸歸一化
    5. 圖片字符標(biāo)記
    6. 字符圖片特征提取
    7. 生成特征和標(biāo)記對應(yīng)的訓(xùn)練數(shù)據(jù)集
    8. 訓(xùn)練特征標(biāo)記數(shù)據(jù)生成識別模型
    9. 使用識別模型預(yù)測新的未知圖片集
    10. 達(dá)到根據(jù)“圖片”就能返回識別正確的字符集的目標(biāo)
    四、圖片字母,數(shù)字識別的實現(xiàn)
       圖片預(yù)處理

    雖然目前的機(jī)器學(xué)習(xí)算法已經(jīng)相當(dāng)先進(jìn)了,但是為了減少后面訓(xùn)練時的復(fù)雜度,同時增加識別率,很有必要對圖片進(jìn)行預(yù)處理,使其對機(jī)器識別更友好。

    針對以上原始素材的處理步驟如下:

    1. 讀取原始圖片素材
    2. 將彩色圖片二值化為黑白圖片
    3. 去除背景噪點
      二值化圖片

    主要步驟如下:

    1. 將RGB彩圖轉(zhuǎn)為灰度圖
    2. 將灰度圖按照設(shè)定閾值轉(zhuǎn)化為二值圖
    image = Image.open(img_path)
    imgry = image.convert('L')  # 轉(zhuǎn)化為灰度圖
    
    table = get_bin_table()
    out = imgry.point(table, '1')

    上面引用到的二值函數(shù)的定義如下:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    def get_bin_table(threshold=140):
        """
        獲取灰度轉(zhuǎn)二值的映射table
        :param threshold:
        :return:
        """
        table = []
        for in range(256):
            if i < threshold:
                table.append(0)
            else:
                table.append(1)
     
        return table
       圖片 去除噪點
  • 1對某個 黑點 周邊的九宮格里面的黑色點計數(shù)
  • 2如果黑色點少于2個則證明此點為孤立點,然后得到所有的孤立點
  • 3對所有孤立點一次批量移除。
      模型訓(xùn)練

到這個階段后,由于本文直接使用的是開源的 libSVM 方案,屬于應(yīng)用了,所以此處內(nèi)容就比較簡單的。只需要輸入特征文件,然后輸出模型文件即可。

可以搜索到很多相關(guān)中文資料

主要代碼如下:

復(fù)制代碼
def train_svm_model():
    """
    訓(xùn)練并生成model文件
    :return:
    """
    y, x = svm_read_problem(svm_root + '/train_pix_feature_xy.txt')
    model = svm_train(y, x)
    svm_save_model(model_path, model)
 libSVM是一個機(jī)器學(xué)習(xí)的框架,需要查閱官方文檔完成集成工作,主要是python與libsvm的集成