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

        ?

        OpenCV耦合遺傳算法的圖像分割優(yōu)化應(yīng)用與研究

        2016-02-26 01:00:41王秋紅張金輝
        兵器裝備工程學(xué)報 2016年1期

        王秋紅,張金輝

        (海口經(jīng)濟(jì)學(xué)院 信息工程學(xué)院,??凇?70203)

        ?

        OpenCV耦合遺傳算法的圖像分割優(yōu)化應(yīng)用與研究

        王秋紅,張金輝

        (??诮?jīng)濟(jì)學(xué)院 信息工程學(xué)院,???70203)

        摘要:為了解決當(dāng)前遺傳算法用于圖像分割時存在效率低、計算量大等不足,引入OpenCV,提出了OpenCV耦合遺傳算法的圖像分割技術(shù);首先,對遺傳算法特性、原理展開研究;針對其存在的不足,基于OpenCV對算法進(jìn)行優(yōu)化,提高了算法速度和用戶體驗;最后,對優(yōu)化算法和傳統(tǒng)算法進(jìn)行對比實驗,經(jīng)過反復(fù)驗證,優(yōu)化算法在速度、性能上明顯優(yōu)于傳統(tǒng)算法,可以更好地應(yīng)用于工程領(lǐng)域。

        關(guān)鍵詞:遺傳算法;圖像分割;OpenCV;算法速度

        本文引用格式:王秋紅,張金輝.OpenCV耦合遺傳算法的圖像分割優(yōu)化應(yīng)用與研究[J].兵器裝備工程學(xué)報,2016(1):121-124.

        Citation format:WANG Qiu-hong, ZHANG Jin-hui.Research and Application on Image Segmentation Optimization Based on OpenCV and Genetic Algorithm[J].Journal of Ordnance Equipment Engineering,2016(1):121-124.

        隨著應(yīng)用領(lǐng)域的擴(kuò)展,遺傳算法的研究出現(xiàn)了幾個引人注目的新動向:一是遺傳算法正日益和神經(jīng)網(wǎng)絡(luò)、模糊推理以及混沌理論等其它智能計算方法相互滲透和結(jié)合,這對開拓21世紀(jì)中新的智能計算技術(shù)具有重要的意義,二是并行處理的遺傳算法的研究十分活躍,這一研究不僅對遺傳算法本身的發(fā)展,而且對于新一代智能計算機(jī)體系結(jié)構(gòu)的研究都是十分重要的[1]。

        遺傳算法是一種啟發(fā)式自適應(yīng)式群體型概率性迭代式的全局收斂搜索算法,其基本思想來源于生物進(jìn)化論和群體遺傳學(xué),體現(xiàn)了適者生存,優(yōu)勝劣汰的進(jìn)化原則[2]。隨著國內(nèi)外專家和學(xué)者的研究深入,遺傳算法應(yīng)用的領(lǐng)域也越來越多,涉及的領(lǐng)域有語音識別、科學(xué)計算、云計算、還有圖像處理。其中在圖像處理方面的應(yīng)用效果尤為明顯,涉及的子領(lǐng)域有:圖像增強(qiáng)、圖像匹配、圖像識別、圖像加密以及圖像分割等。其中圖像分割在圖像處理與分析中尤為重要,因為圖像分割的準(zhǔn)確與否,將直接影響到后續(xù)的特征提取、特征分析,乃至最后的圖像分析結(jié)果,做好圖像分割是完成一個出色的圖像處理系統(tǒng)最為關(guān)鍵的第一步。

        簡單而言,圖像分割就是將圖像中的目標(biāo)和背景區(qū)分開來的方法。目前主流的圖像分割方法主要分為:基于閾值分割、基于邊緣分割、基于區(qū)域跟蹤分割。遺傳算法用于圖像分割領(lǐng)域一般有兩種情況:一是幫助現(xiàn)存的圖像分割算法在參數(shù)空間內(nèi)搜索參數(shù);二是在候選的分割空間內(nèi)搜索最優(yōu)的分割方案[3]。在以下文獻(xiàn)中遺傳算法已經(jīng)成功的運用于圖像分割中,提高效率和精度。有采用Ostu法進(jìn)行圖像分割時的質(zhì)量測試公式為適應(yīng)度函數(shù)、有采用圖像的最小誤差概率函數(shù)作為適應(yīng)度函數(shù)來搜索最優(yōu)閾值,其收斂性遠(yuǎn)遠(yuǎn)高于傳統(tǒng)的最小誤差準(zhǔn)則方法[4-6]。

        但是由于遺傳算法公式復(fù)雜,計算復(fù)雜,算法實現(xiàn)效率往往比較低,從而影響了工程可應(yīng)用性和用戶體驗。因此,本文的主要工作就是對基于遺傳算法的圖像分割進(jìn)行優(yōu)化,從而提高算法的效率和精度。本文先對遺傳算法本身展開深入研究,分析遺傳算法與圖像分割的交匯點,然后以此為基點,引入OpenCV技術(shù),對算法進(jìn)行優(yōu)化,提出了一種OpenCV耦合遺傳算法的圖像分割優(yōu)化解決方案。并測試了本文技術(shù)的分割效率與性能。

        1遺傳算法原理

        遺傳算法(Genetic Algorithm)是模擬達(dá)爾文生物進(jìn)化論的自然選擇和遺傳學(xué)機(jī)理的生物進(jìn)化過程的計算模型,是一種通過模擬自然進(jìn)化過程搜索最優(yōu)解的方法[7]。遺傳算法是從代表問題可能潛在的解集的一個種群(population)開始的,而一個種群則由經(jīng)過基因(gene)編碼的一定數(shù)目的個體(individual)組成[8]。因為遺傳算法中每一條染色體,對應(yīng)著遺傳算法的一個解決方案,一般我們用適應(yīng)性函數(shù)(fitness function)來衡量這個解決方案的優(yōu)劣,所以從一個基因組到其解的適應(yīng)度形成一個映射,所以也可以把遺傳算法的過程看作是一個在多元函數(shù)里面求最優(yōu)解的過程[9]。在這個多維曲面里面也有數(shù)不清的“山峰”,而這些最優(yōu)解所對應(yīng)的就是局部最優(yōu)解,而其中也會有一個“山峰”的海拔最高的,那么這個就是全局最優(yōu)解,而遺傳算法的任務(wù)就是盡量爬到最高峰,而不是陷落在一些小山峰[10-11]。

        遺傳算法基本步驟:

        1) 隨機(jī)選擇初始種群P(t);

        2) 計算個體適應(yīng)度函數(shù)值F(t),如式(1)所示,在圖像分割中表示閾值的適應(yīng)度函數(shù)值,i為0~256范圍內(nèi)的某一個閾值,f為閾值i在一張圖像中出現(xiàn)的個數(shù);

        (1)

        3) 若種群中最優(yōu)個體所對應(yīng)的適應(yīng)度函數(shù)值足夠大或者算法已經(jīng)連續(xù)運行多代,且個體的最佳適應(yīng)度無明顯改進(jìn)則轉(zhuǎn)到第4)步;

        4)t=t+1;

        5) 應(yīng)用選擇算子法從P(t-1) 中選擇P(t);

        6) 對P(t) 進(jìn)行交叉、變異操作,轉(zhuǎn)到第3)步;

        遺傳算法的缺點是收斂很慢,容易受局部極小值干擾。

        在計算機(jī)處理時需要將二進(jìn)制數(shù)處理為十進(jìn)制,這正是遺傳算法中不可避免的解碼步驟之一。對此,本文對其進(jìn)行了改進(jìn):把一個二進(jìn)制串(b0,b1,…,bn)轉(zhuǎn)化為區(qū)間里面對應(yīng)的實數(shù)值。

        (2)

        2基于OpenCV耦合遺傳算法的圖像分割優(yōu)化

        本文對閾值分割中的最大類間分割算法進(jìn)行研究,傳統(tǒng)的基于遺傳算法獲取閾值,從而完成圖像分割的方法有一定的分割效果,但是往往由于遺傳算法運算復(fù)雜,計算量大,而使算法運行時間很長,這在實際工程應(yīng)用環(huán)境中是無法接受的。同時,單純的依靠遺傳算法來搜索閾值,在目標(biāo)與背景的邊緣交界處梯度分明不明顯時,分割結(jié)果往往不是很準(zhǔn)確?;诖?,本文在以上研究了遺傳算法原理后,引入OpenCV技術(shù),對一些步驟用OpenCV實現(xiàn),從而加快運行速度,因為OpenCV是經(jīng)過優(yōu)化的純C代碼。同時除了遺傳算法搜索閾值外,還用到OpenCV的輪廓匹配函數(shù)來定位目標(biāo),從而輔助圖像分割的實現(xiàn),最終實現(xiàn)OpenCV耦合遺傳算法的圖像分割。

        首先快速讀入圖像到內(nèi)存,采用cvLoadImage函數(shù)。把圖像從三通道轉(zhuǎn)換到單通道,采用cvConvertScale函數(shù),從而減少圖像運算數(shù)據(jù),提高速度。計算計算矩陣的平均值和標(biāo)準(zhǔn)差,采用cvAvgSdv函數(shù),在圖像特征提取時使用。計算數(shù)組中非0元素的個數(shù)采用cvCountNonZero函數(shù)。閾值分割采用cvThreshold函數(shù)。以上函數(shù)基于C++是實現(xiàn),故運行速度優(yōu)于Matlab平臺或其他編程語言。最后增加cvMatchTemplate函數(shù),即輪廓搜索函數(shù),予以輔助圖像目標(biāo)分割的實現(xiàn)。

        如圖1所示,圖像立體三角形為待分割圖像,目標(biāo)是分割出外三角的邊緣。如圖2所示,為本文OpenCV耦合遺傳算法分割效果圖,可見,分割線緊貼外三角邊緣,分割效果很好。

        圖1 原圖

        圖2 分割效果圖

        檢測算法部分關(guān)鍵代碼:

        IplImage *result;

        int srcW,srcH,templatW,templatH,resultH,resultW;

        srcW = image1->width;

        srcH = image1->height;

        templatW = templat->width;

        templatH = templat->height;

        resultW = srcW - templatW + 1;

        resultH = srcH - templatH + 1;

        result = cvCreateImage(cvSize(resultW,resultH),32,1);

        cvMatchTemplate(image,templat,result,0);

        double minValue,maxValue;

        CvPoint minLoc,maxLoc;

        cvMinMaxLoc(result,&minValue,&maxValue,&minLoc,&maxLoc);

        cvRectangle(image,minLoc,cvPoint(minLoc.x + templatW,minLoc.y+ templatH),cvScalar(0,0,255));

        cvReleaseImage(&result);

        cvReleaseImage(&templat);

        m_CvvImage.CopyOf(image,1);

        m_CvvImage.DrawToHDC(hDC,&rect);

        class Genome

        { public:

        friend class GenAlg;

        friend class GenEngine;

        Genome():fitness(0){}

        Genome(vector vec,double f):vecGenome(vec),fitness(f){}

        private:

        vector vecGenome;

        double fitness;

        };

        Genome GenAlg::GetChromoRoulette()

        { double Slice = (random()) * totalFitness;

        Genome TheChosenOne;

        double FitnessSoFar = 0;

        for (int i=0; i

        FitnessSoFar += vecPop[i].fitness;

        if (FitnessSoFar >= Slice)

        {

        TheChosenOne = vecPop[i];

        break;} }

        return TheChosenOne; }

        3實驗與討論

        傳統(tǒng)機(jī)制采用單純的依靠遺傳算法來搜索閾值,從而選出最佳閾值進(jìn)行分割,在速度和精度上往往不是很理想。本文機(jī)制采用OpenCV耦合遺傳算法的方法來分割圖像,即用快速的OpenCV函數(shù)予以快速實現(xiàn)對圖像的各種處理,同時還予以O(shè)penCV的輪廓搜索函數(shù)輔助遺傳算法,達(dá)到雙保險的目的。本文將兩種機(jī)制都進(jìn)行實現(xiàn),并做實驗對比,即對同樣的100張圖像做檢測,統(tǒng)計比較檢測精度和時間。本機(jī)制采用快讀OpenCV函數(shù)實現(xiàn),大大節(jié)省了運算時間,同時有更高的分割精度。而傳統(tǒng)機(jī)制中圖像的分割單純依靠遺傳算法來提取閾值,這不但大大延長了運算時間,而且精度上也達(dá)不到較高的滿意度,經(jīng)過試驗統(tǒng)計,如表1所示。

        原始圖像如圖3所示,本系統(tǒng)引入OpenCV處理函數(shù)和輪廓搜索函數(shù),提高圖像處理速度和精度,不僅降低了檢測時間,關(guān)鍵的是提高了檢測精度,如圖4所示。圖5是傳統(tǒng)未優(yōu)化前檢測效果,存在錯誤分割實物,把非目標(biāo)區(qū)域也分割進(jìn)目標(biāo)區(qū)域,同樣一幅圖像,用本文優(yōu)化后的算法,可以準(zhǔn)確分割出目標(biāo)。

        表1 測試數(shù)據(jù)

        圖3 原圖

        圖4 優(yōu)化后分割效果

        圖5 傳統(tǒng)機(jī)制識別效果圖

        4結(jié)論

        基于遺傳算法的圖像分割,在運算速度上是很大的缺點,同時單純依靠遺傳算法提取最佳閾值,在一些圖像環(huán)境下容易出現(xiàn)分割失誤。為了解決這樣的問題,本文首先對遺傳算法的特性進(jìn)行研究。然后引入OpenCV實現(xiàn),提高算法運行速度。最后在原來遺傳算法啊的基礎(chǔ)上加上OpenCV輪廓搜索函數(shù),提高分割精度。實驗結(jié)果表明:與傳統(tǒng)機(jī)制相比,本文機(jī)制具有更好的分割精度和更高的效率,可以用于精準(zhǔn)分割的工程環(huán)境。

        參考文獻(xiàn):

        [1]康一鶴.改進(jìn)型遺傳算法在醫(yī)學(xué)圖像分割中的應(yīng)用[J].信息通信,2015,37(2):157-160.

        [2]王群峰.結(jié)合改進(jìn)遺傳算法與局部閾值法的指紋圖像分割[J].自動化與信息工程,2015,18(11):83-87.

        [3]龍娟.基于新型遺傳算法的圖像處理研究[J].電子技術(shù)與軟件工程,2014,36(4):181-185.

        [4]謝佩軍.一種基于膜計算的遺傳算法圖像分割方法[J].軟件,2014,21(7):196-199.

        [5]王建.一種基于均值漂移和遺傳算法的圖像分割算法[J].計算機(jī)技術(shù)與發(fā)展,2014,33(10):86-90.

        [6]龍娟.基于新型遺傳算法的圖像處理研究[J].電子技術(shù)與軟件工程,2011,23(2):371-376.

        [7]NOORI H,SARYAZDI S.A bilateral image inpainting[J].IJST Trans Electr Eng,2011,25(E2):95-108.

        [8]KUANG Y,ZHANG L,YI Z.An Adaptive Rank-sparsity K-SVD Algorithm for Image Sequence Denoising[J].Pattern Recognition Letters,2014,33(17):1021-1032.

        [9]李紅梅,基于遺傳算法的圖像匹配算法研究[J].計算機(jī)與數(shù)字工程,2014,15(8):42-47.

        [10]EHMANN J,PAPPAS T,NEUHOFF D.Structure Texture similarity metrics for image analysis and retrieval[J].IEEE Transactions,,2013,22(7):2545-2258.

        [11]XU X Y,JIN L H.Characteristic Analysis of Otsu Threshold and Its Applications[J].Pattern Recognition,2011,2(1):124-128.

        [12]楊漫,蘇亞坤.采用模糊C-均值聚類的自適應(yīng)圖像分割算法[J].重慶理工大學(xué)學(xué)報(自然科學(xué)版),2015(6):94-99.

        (責(zé)任編輯楊繼森)

        【信息科學(xué)與控制工程】

        Research and Application on Image Segmentation Optimization

        Based on OpenCV and Genetic Algorithm

        WANG Qiu-hong, ZHANG Jin-hui

        (School of Information Engineering, Haikou College of Economics, Haikou 570203, China)

        Abstract:Genetic algorithm has been widely used in the field of image processing, such as image segmentation, but the disadvantage is that the amount of computation is large and the speed is slow. In order to solve this problem, this paper first studied the characteristics and principles of genetic algorithms and experiments. Based on this, the OpenCV algorithm was optimized to improve the speed of the algorithm and the user experience. Finally the optimization algorithm and the traditional algorithm were compared, and after repeated verification, this paper optimized the algorithm in speed, and the performance is superior to the traditional algorithm, which can be better used in engineering field.

        Key words:genetic algorithm; image segmentation; OpenCV; algorithm speed

        文章編號:1006-0707(2016)01-0121-04

        中圖分類號:TP391

        文獻(xiàn)標(biāo)識碼:A

        doi:10.11809/scbgxb2016.01.029

        作者簡介:王秋紅(1981—),女,碩士, 講師,主要從事算法設(shè)計、軟件開發(fā)與計算機(jī)應(yīng)用研究。

        收稿日期:2015-07-14;修回日期:2015-08-20

        日韩毛片在线看| 看黄色亚洲看黄色亚洲| 国产在视频线精品视频二代| 国产激情视频免费观看| 亚洲一区二区三区av资源| 日韩精品一区二区三区在线视频| 日本一二三区免费在线| 久久亚洲精品成人av无码网站| 国产成人精品日本亚洲11| 大地资源中文第三页| 亚洲精品美女久久久久久久 | 精品国产av一区二区三区| 国产精品综合一区久久| www婷婷av久久久影片| 亚洲欧美激情在线一区| 亚洲AV色无码乱码在线观看| 精品久久综合一区二区| 水蜜桃视频在线观看免费18| 精品日韩在线观看视频| 女同精品一区二区久久| 无码任你躁久久久久久久| 内射交换多p国产| 亚洲在线一区二区三区四区| 91精品久久久老熟女91精品| 国产综合无码一区二区辣椒 | 老熟女毛茸茸浓毛| av网页在线免费观看| 丝袜美腿亚洲第一免费| 国产成人无码一区二区在线播放 | 国产特级毛片aaaaaa高清| 国产亚洲日韩欧美久久一区二区| 亚洲日产国无码| 91精品国产一区国产二区久久| 欧美黑人又粗又大xxxx| 婷婷五月综合缴情在线视频| Y111111国产精品久久久| 日韩精品视频免费福利在线观看| 成人自拍一二在线观看| 蜜桃视频无码区在线观看 | 综合久久给合久久狠狠狠97色| 人人妻人人澡av|