亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于Python 圖像處理技術(shù)的水質(zhì)評價應(yīng)用

        2020-10-30 05:49:10杜琰琪
        科學(xué)技術(shù)創(chuàng)新 2020年31期
        關(guān)鍵詞:水質(zhì)特征模型

        杜琰琪

        (安徽公安教育研究院,安徽 合肥230031)

        1 Python 圖像處理

        Python 誕生于20 世紀90 年代初,是一種解釋型、面向?qū)ο?、動態(tài)數(shù)據(jù)類型的高級程序設(shè)計語言,因其具有較強的可移植性、可擴展性和豐富的代碼庫受到程序員的喜愛,在圖像處理、數(shù)據(jù)統(tǒng)計和可視化表達等領(lǐng)域有著廣泛的應(yīng)用。在圖像處理方面常用的包有CV2、PIL、Pillow、Pillow-SIMD。

        2 需求分析

        在水產(chǎn)養(yǎng)殖中,水質(zhì)是至關(guān)重要的,需要時刻對水質(zhì)進行監(jiān)測,傳統(tǒng)方式是由專家或有經(jīng)驗的由人進行評判,但這種方式,對個人經(jīng)驗要求很高,也會存在主觀性偏差,因此重復(fù)性和推廣性有一定的局限。我們希望根據(jù)水質(zhì)圖片,利用自動化手段,根據(jù)專家經(jīng)驗再結(jié)合機器學(xué)習(xí)算法、計算機視覺、數(shù)字圖像處理等技術(shù)設(shè)計一個在線的水質(zhì)監(jiān)測系統(tǒng),搭建一個模型對輸入進來的圖片進行水質(zhì)類別的一個判斷。

        3 水質(zhì)評價分析

        通過歷史樣本數(shù)據(jù),通過機器學(xué)習(xí),數(shù)據(jù)分分析,把不同水質(zhì)樣本的特點探究、總結(jié)出來形成一個模型,當新樣本進入模型后,模型能對新樣本進行預(yù)測。具體流程如圖1 所示:

        圖1 水質(zhì)評價分析流程

        3.1 數(shù)據(jù)預(yù)處理圖像切割

        通過PIL Image.open()函數(shù)將圖片轉(zhuǎn)換為像素矩陣,r,g,b=im.split()將每個像素分成三個顏色通道,r_d=np.asarray(r) 取出各通道像素值。以圖片的左上角為頂點,向右為橫軸,向下為縱軸,設(shè)原始圖像的大小是M*N,則截取寬從第到第個像素點,高從第個像素點到第個像素點的子圖像。則提取的是水樣圖像中央101*101 像素的圖像。原始圖像和截取后子圖像如圖2 所示。

        圖2 截取圖像對比

        3.2 構(gòu)建專家樣本

        圖像的特征主要包括:形狀特征、空間關(guān)系特征、顏色特征、紋理特征等。與幾何特征相比,顏色特征表現(xiàn)出較強的魯棒性,對于物體的大小和方向均不敏感。本應(yīng)用中由于水色圖像是均勻的,故主要關(guān)注顏色特征[2]。

        根據(jù)圖片反映出來的水色,引入專家知識將水質(zhì)類別分為五類如表1,不同顏色代表不同的水質(zhì)。

        表1 水質(zhì)類別

        顏色直方圖和顏色矩是反映圖像特征的兩種指標。顏色直方圖能簡單描述不同色彩在圖像中所占的比例,適用于描述難以自動分割的圖像和不需要考慮物體空間位置的圖像,但對于圖像中顏色的局部分布及每種顏色所處的空間位置卻無法描述。顏色矩可以表示圖像中顏色的分布,包括一階矩、二階矩和三階矩,每種顏色具有R、G、B 三個顏色通道,因此顏色矩具有9 個分量[3]。顏色直方圖產(chǎn)生的特征維數(shù)一般大于顏色矩陣的特征維數(shù),為了避免過多變量影響后續(xù)的分類效果,在本應(yīng)用中采用顏色矩來表達圖像的特征。

        采用二階中心矩的平方根,求標準差,反映了圖像顏色的分布均勻性、波動性,r2=rd.std()。

        三階顏色矩:

        def var(rd): #求顏色通道的三階顏色矩

        mid = np.mean((rd-rd.mean())**3)

        return np.sign(mid)*abs(mid)**(1/3)

        3.3 數(shù)據(jù)提取及模型構(gòu)建和訓(xùn)練

        在Python 環(huán)境下通過調(diào)用相關(guān)函數(shù),首先對采集的水質(zhì)圖像進行數(shù)據(jù)提取,然后對相應(yīng)數(shù)據(jù)建立模型并對模型進行訓(xùn)練,獲得水質(zhì)評價效果。

        3.3.1 數(shù)據(jù)提取過程

        通過for 循環(huán)把所有照片的特征都提取出來,共獲得197 行9 列的二維表數(shù)據(jù)如圖3,部分數(shù)據(jù)結(jié)果如圖4 所示。

        圖3 獲取數(shù)據(jù)量

        圖4 獲取的部分具體數(shù)據(jù)

        獲取每張圖片R、G、B 三通道的三階矩數(shù)據(jù)代碼如下:

        import os, re

        from PIL import Image

        import numpy as np

        path = 'water_images/'

        def var(rd): # 求顏色通道的三階顏色矩

        mid = np.mean((rd-rd.mean())**3)

        return np.sign(mid)*abs(mid)**(1/3)

        def get_img_names(path=path):

        file_names = os.listdir(path)

        img_names = []

        for i in file_names:

        if re.findall('^d_d+.jpg$', i) != []:

        img_names.append(i)

        return img_names

        def get_img_data(path=path):

        img_names = get_img_names(path=path)

        n = len(img_names)

        data = np.zeros([n, 9])

        labels = np.zeros([n])

        for i in range(n):

        img = Image.open(path+img_names[i]) # 讀取圖片數(shù)據(jù)

        M, N = img.size # 像素矩陣的行列數(shù)

        region = img.crop ((M/2-50, N/2-50, M/2+50, N/2+50)) # 截取圖像的中心區(qū)域

        r, g, b = region.split() # 分割像素通道

        rd = np.asarray(r) # 將圖片數(shù)據(jù)轉(zhuǎn)換為數(shù)組

        gd = np.asarray(g)

        bd = np.asarray(b)

        data[i, 0] = rd.mean() # 一階顏色矩

        data[i, 1] = gd.mean()

        data[i, 2] = bd.mean()

        data[i, 3] = rd.std() # 二階顏色矩

        data[i, 4] = gd.std()

        data[i, 5] = bd.std()

        data[i, 6] = var(rd) # 三階顏色矩

        data[i, 7] = var(gd)

        data[i, 8] = var(bd)

        labels[i] = img_names[i][0]

        return data, labels

        3.3.2 模型構(gòu)建與評價

        抽取80%作為訓(xùn)練樣本,剩下的20%作為測試樣本,進行模型訓(xùn)練和模型的驗證,模型在測試集樣本上的精度為0.925,如圖5 所示,基本滿足實際應(yīng)用需求。

        圖5 模型精度

        模型構(gòu)建與評價main 文件的主要代碼如下:

        from data_process import get_img_data # 導(dǎo)入數(shù)據(jù)預(yù)處里的函數(shù)

        from sklearn.tree import DecisionTreeClassifier

        from sklearn.model_selection import train_test_split

        from sklearn.metrics import classification_report, confusion_matrix

        data, labels = get_img_data() # 數(shù)據(jù)預(yù)處理

        data_train, data_test, labels_train, labels_test = train_test_split (data,labels, test_size=0.2) # 將專家樣本拆分為訓(xùn)練集和測試集

        dtc = DecisionTreeClassifier() #調(diào)用決策樹分類器

        dct.fit(data_train, label_train) # 模型訓(xùn)練

        dct.score(data_test,label_test) # 模型性能評估

        joblib.dump(dct,'dct_water_rec.m') # 將訓(xùn)練好的模型保存下來

        model_new=joblib.load('dct_water_rec.m')

        model_new.predict(data_test)

        結(jié)束語

        根據(jù)水質(zhì)圖片,利用圖像處理技術(shù)和相應(yīng)模型,在Python 環(huán)境下實現(xiàn)了水質(zhì)的自動評價,正確率為92.5%,能實現(xiàn)預(yù)期功能,后期如需提高正確率,需要對模型進行優(yōu)化。

        猜你喜歡
        水質(zhì)特征模型
        一半模型
        水質(zhì)抽檢豈容造假
        環(huán)境(2023年5期)2023-06-30 01:20:01
        重要模型『一線三等角』
        重尾非線性自回歸模型自加權(quán)M-估計的漸近分布
        如何表達“特征”
        不忠誠的四個特征
        當代陜西(2019年10期)2019-06-03 10:12:04
        一月冬棚養(yǎng)蝦常見水質(zhì)渾濁,要如何解決?這9大原因及處理方法你要知曉
        抓住特征巧觀察
        3D打印中的模型分割與打包
        線性代數(shù)的應(yīng)用特征
        河南科技(2014年23期)2014-02-27 14:19:15
        一本大道香蕉视频在线观看| 伊人久久精品无码二区麻豆| 成人区人妻精品一区二区不卡网站| 亚洲av乱码中文一区二区三区| 日韩精品视频在线观看免费| 女同亚洲一区二区三区精品久久 | 中文字幕日韩精品有码视频| 曝光无码有码视频专区| 国产精品高潮无码毛片| 国产一区二区三区乱码在线| 色吧噜噜一区二区三区| 国产精品爽黄69天堂a| 国产一区二区三区啪| 精品国产夫妻自拍av| 日韩人妻无码精品一专区二区三区| 亚洲第一se情网站| 国产成人亚洲综合无码精品| 日本一区二区高清视频| 久久久久人妻精品一区二区三区 | 首页 综合国产 亚洲 丝袜| 欧美日韩色| 亚洲av精品一区二区| 精品天堂色吊丝一区二区| 日韩成人大屁股内射喷水| 日本久久精品免费播放| 熟女一区二区国产精品| 伊人久久大香线蕉av色| 成人区人妻精品一区二区不卡网站| 日本一区二区三区专区| 国产肥熟女免费一区二区| 国产精品ⅴ无码大片在线看| 日韩国产成人精品视频| 亚洲av日韩精品一区二区| 国产精品videossex国产高清| 美女高潮无遮挡免费视频| 日本啪啪一区二区三区| 丰满少妇在线播放bd| 国产精品对白刺激久久久| 国产在线拍偷自拍偷精品| 少妇精品揄拍高潮少妇桃花岛| 国产内射爽爽大片视频社区在线 |