freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

弦箭算法的c語言實(shí)現(xiàn)本科畢業(yè)論文-全文預(yù)覽

  

【正文】 接近于頭像外部輪廓的可能性也最大。然后在數(shù)組 a2 內(nèi),以 (xx,yy)坐標(biāo)為中心,在寬度為 a a 的正方形區(qū)域內(nèi)求 a2 的最大值 D。k00則向左射箭。k00 則向右射箭,如果 e0amp。同時(shí),根據(jù) e 和弦的垂直中分線的斜率 k0,可以判斷射箭方向:如果e0amp。在進(jìn)行跨步射箭累加時(shí),首先對(duì)第二章原理中提到的前兩種特殊情況進(jìn)行處理,判斷弦與曲線有無交點(diǎn)。數(shù)組 cur 中 依次記錄了曲線各點(diǎn)坐標(biāo)值,我們只需要將 cur 中的數(shù)據(jù)按坐標(biāo)點(diǎn)進(jìn)行反向存取,調(diào)用xj 函數(shù),即可實(shí)現(xiàn)反向跨步 。函數(shù)算法流程圖如下頁(yè)圖 37 所示 。曲線搜索完畢,判斷曲線長(zhǎng)度 size 是否小于閾值 min_size,若 size 小于閾值 min_size,則調(diào)用 del_cur 函數(shù)將該條曲線刪除,刪除后,曲線長(zhǎng)度 size 為 0。曲線中所有的點(diǎn)在 pUnchImage 中標(biāo)記了對(duì)應(yīng)曲線序號(hào),圖像數(shù)據(jù)pUnchEdge 中 標(biāo)記 了曲線端點(diǎn), 曲線中 其余點(diǎn)均為 0,曲線端點(diǎn)在pUnchEdge 中以值不為 0。再 遞歸 調(diào)用 dir_long 函數(shù)從這下一個(gè)點(diǎn)開始判斷,直至該條曲線所有點(diǎn)判斷完畢后,算法結(jié)束。 圖 33 割斷分叉點(diǎn) 圖 33Del_l函數(shù)流程圖 函數(shù) Del_line()實(shí)現(xiàn)的功能是刪除圖像中長(zhǎng)度小 于某一閾值 p的直線,其輸入?yún)?shù)說明如下 : 開始( x 1 , y 1 ) 初始化為 ( x , y )i 初始化為 0刪除點(diǎn) ( x 1 , y 1 )i d ir _ lon g ?( x 1 , y 1 ) 移到曲線下一個(gè)點(diǎn)刪除點(diǎn) ( x 1 , y 1 )結(jié)束是否 unsigned char *pUnchEdge 經(jīng)過邊緣檢測(cè)后的圖象數(shù)據(jù) int nWidth 圖象數(shù)據(jù)寬度 int nHeight 圖像數(shù)據(jù)高度 int x, int y 圖象邊緣曲線中的一個(gè)點(diǎn) 在函數(shù)中定義變量 x y1 來 依次 對(duì)各點(diǎn)進(jìn)行 判斷 ,其值初始化 圖 34 Del_line函數(shù)流程圖 開 始( x 1 , y 1 ) 初 始 化 為 ( x , y )判 斷 ( x 1 , y 1 ) 下 一 個(gè) 點(diǎn) 的 方 向 d i rd i r 與 上 一 點(diǎn) 的方 向 相 同 ?d i r _ l o n g + +( x 1 , y 1 ) 移 到 下 一 個(gè) 點(diǎn)d i r _ l o n g 閾 值p ?調(diào) 用 D e l _ l 函 數(shù) 刪 除 從 ( x 1 , y 1 )開 始 的 d i r _ l o n g 個(gè) 點(diǎn)將 ( x 1 , y 1 ) 作 為 輸 入 參數(shù) 遞 歸 調(diào) 用 D i r _ l o n g 對(duì) 刪除 后 的 曲 線 進(jìn) 行 判 斷是是( x 1 , y 1 ) 為 曲線 最 后 一 個(gè) 點(diǎn) ?d i r _ l o n g 閾 值p ?調(diào) 用 D e l _ l 函 數(shù) 刪 除 從 ( x 1 , y 1 )開 始 的 d i r _ l o n g 個(gè) 點(diǎn)是是結(jié) 束 為 x、 y;變量 p 為長(zhǎng)度閾值;變量 dir 為方向向量 , 記錄曲線中點(diǎn)的走向 ,初始化為 0;變量 dir_long 為直線長(zhǎng)度 ,初始化為 0;通過 new 函數(shù)開辟一段大小為 nWidth*nHeight 的數(shù)據(jù)單元 unsigned char * pUnchEdge1,其 數(shù)據(jù) 初始化 為圖像數(shù)據(jù),通過其 來控制我完成 對(duì) 曲線的搜索計(jì)算。 該段程序流程如圖 33 所示。 若 count 值 大于 2,則表示 曲線在 該點(diǎn)處分叉, count 值 小于 1(即為 0) ,表示該點(diǎn)為孤立點(diǎn) , count 值為 1 表示該點(diǎn)為 其 所在曲線的一個(gè)端點(diǎn),count 值為 2 表示該點(diǎn)為曲線的一個(gè)中間點(diǎn)。這些參數(shù)會(huì)影響分割后邊界點(diǎn)數(shù)目的多少 ,程序中這些 參數(shù)取值為 , , 。 這里對(duì) 類 Cdib 中的 13 種屬性 進(jìn)行 簡(jiǎn)要 說明 如下 : LPVOID m_lpvColorTable:調(diào)色板指針; HBITMAP m_hBitmap: BITMAP結(jié)構(gòu)指針; LPBYTE m_lpImage: DIB 位圖數(shù)據(jù)塊地址; LPBITMAPINFOHEADER m_lpBMIH: DIB信息頭指針; HGLOBAL m_hGlobal:全局的句柄,用于內(nèi)存映射文件中; Alloc m_nBmihAlloc:表示信息頭內(nèi)存分配的狀況; Alloc m_nImageAlloc:表示位圖數(shù)據(jù)分配的狀況; DWORD m_dwSizeImage: DIB 位圖中的字節(jié)數(shù)(信息頭和調(diào)色板數(shù)據(jù) 除外); int m_nColorTableEntries:調(diào)色板表項(xiàng)數(shù); HANDLE m_hFile:文件句柄; HANDLE m_hMap:內(nèi)存映射文件句柄; LPVOID m_lpvFile:文件句柄; HPALETTE m_hPalette:調(diào)色板句柄; 對(duì)于 Cdib 類的構(gòu)造函數(shù)、文件讀寫成員函數(shù)以及大多數(shù) Get 成員函數(shù)等意義都是暗含的,程序中也都有詳細(xì)的注解,在此不再詳細(xì)討論。 本文 利用 一個(gè) 現(xiàn)有 的圖像處理程序 ImageProcessing,在此基礎(chǔ)上,嵌入弦箭算法 。 2 本文 編程環(huán)境 本文編程所使用的環(huán)境是 Microsoft Visual C++ 。 下面有兩點(diǎn)需要注意: ( 1)每一行的字節(jié)數(shù)必須是 4 的整數(shù)倍,如果不是,則需補(bǔ)齊。下面就 2 色、 16 色、 256 色和真彩色位圖分別介紹。真彩色圖像是不需要調(diào)色板的, BITMAPINFOHEADER后直接是位圖數(shù)據(jù)。 //圖像中重要的顏色數(shù),若該值 //為 0 則所有顏色都是重要的 }BITMAPINFOHEADER; 這個(gè)結(jié)構(gòu)的長(zhǎng)度是固定的,為 40 個(gè)字節(jié)( LONG 為 32 為二進(jìn)制整數(shù))。 //實(shí)際的位圖數(shù)據(jù)占用的字節(jié)數(shù) LONG biXPelsPerMeter。 //圖像的高度,單位 是像素 WORD biPlanes。 //從文件頭到實(shí) 際位圖數(shù)據(jù) 的 偏移字節(jié)數(shù) }BITMAPFILEHEADER; 這個(gè)結(jié)構(gòu)的長(zhǎng)度是固定的,為 14 個(gè)字節(jié)( WORD 為無符號(hào) 16 位二進(jìn)制整數(shù), DWORD 為無符號(hào) 32 位二進(jìn)制整數(shù))。//文件類型,必須是 0x424D,即字符串“ BM” DWORD bfSize。 第三章 弦箭算法的 編程 實(shí)現(xiàn) 1 BMP 圖像文件格式 數(shù)字圖像有多種存儲(chǔ)格式,本文編程主要針對(duì)復(fù)雜背景下的二值灰度圖像,對(duì)于其他格式的圖像文件,可以通過多種工具很方便的 轉(zhuǎn)化為灰度圖像 , 下面首先介紹 BMP 圖像文件格式。確定以 ( Xmax,Ymax) 為中心以寬度為 2Dmax 的正方形區(qū)域作為 人臉位置的大概區(qū)域 : =∪ {A(i,j,1)= α ,|iXmax|Dmax,|jYmax|Dmax}。 ( 3)當(dāng)箭的角度較大,近似 90 度時(shí);或較小,近似 0 度時(shí),由于累加數(shù)組的分辨率,導(dǎo)致出現(xiàn)類似圖 24(b)左邊直線累加位置的間斷。 在上述弦箭法的正反過程中,有如下特殊情況需要處理: ( 1)當(dāng)弦與所跨曲線近 似重合,相差小于某個(gè)閾值時(shí),該箭不做累加,如圖 24 中的 a1。圖 23 中由于 |Atn||At(n1)|,所以不“繪制” an,結(jié)束正向過程。 第 3 跨步:如果 3Δ SL,且 |At3||At2|, 則跨到 3Δ S 弧長(zhǎng)的點(diǎn) t3,“繪制” 箭 ,箭長(zhǎng) 3τ Δ S。“繪制”的含義包含( a)、( b)兩個(gè)方面: ( a)在箭 a1,即在垂直中分線對(duì)應(yīng) 的 累加數(shù)組 A( i, j, k)的位置上如式( 26)做累加: )62(1)1,()1,( ??? jiAjiA ( b)累加的同時(shí),做如下作,其中 Dis 為當(dāng)前位置到箭尾的距離: If DisA(i,j,2) then 將此距離填入距離表中: A( i, j, 2) =Dis?!翱绮健钡拈L(zhǎng)度以弧長(zhǎng)計(jì)算(像素點(diǎn)個(gè)數(shù)近似代替),箭長(zhǎng)為 每次弦所跨過的曲線弧長(zhǎng)的 τ 倍。下文稱垂直中分線為箭,弦線中心點(diǎn)為箭尾 ,另一端為箭頭,算法簡(jiǎn)稱弦箭法。 二、弦箭算法 邊緣圖在去除直線之后,較大的人臉的邊緣曲線就較難連續(xù),如果是較小的人臉,則邊緣線就更接近于圓。 ( 2) 割斷分叉邊緣點(diǎn),使所有邊緣線都不分叉。橢圓弦箭累加算法就是利用這種特性,來實(shí)現(xiàn)人臉區(qū)域位置的 估計(jì) 。當(dāng) a≠ b 時(shí),按參數(shù)方程繪制,可得星形包絡(luò)線;當(dāng) a=b 時(shí),法線相交于中心點(diǎn);當(dāng) a、 b 相差不大時(shí),四個(gè)交點(diǎn)必接近于橢圓中心,位置在橢圓內(nèi)部。 通過對(duì)人臉邊緣曲線及橢圓 特性 的分析,我們提出了橢圓弦箭累加算法,可以快速確定人臉主要特征(人眼和嘴)所在的大致位置和區(qū)域。 本文 研究弦箭算法的主要目的是快速估計(jì) 出 人臉大概位置區(qū)域,提高當(dāng)前人臉檢測(cè)算法的效率。 本文編程所使用的環(huán)境是 Microsoft Visual C++ ,用 C 語言編程實(shí)現(xiàn)弦箭算法。 4 本文研究的主要內(nèi)容和成果 本文的主要 內(nèi)容 是 對(duì) 弦箭算法 的原理 進(jìn)行分析與介紹,并用 C語言進(jìn)行 編程 , 實(shí)現(xiàn) 應(yīng)用弦箭算法快速估計(jì)出人臉大概區(qū)域位置,以提高后序 人臉 算法的效率 。 弦箭算法主要是利用圖像中人臉的邊緣曲線,快速確定搜索空間。 3 弦箭算法的應(yīng)用 弦箭算法的提出是在對(duì)橢圓曲線 特性 分析的基礎(chǔ)上, 根據(jù)人臉邊緣中的橢圓曲線,來 快速準(zhǔn)確 地 確定人臉 大 概區(qū)域 位置。王洪群等人通過對(duì) 橢圓 曲線 的分析,提出的了一種特殊的橢圓弦箭累加算法。 人臉的邊緣圖富含大量的人臉特征信息,許多學(xué)者利用這些邊緣信息來確定人臉的區(qū)域。在第一次訓(xùn)練出一個(gè)弱分類器后,訓(xùn)練樣本的權(quán)重得到調(diào)整,從而使沒有被第一次訓(xùn)練出的弱分類器正確分類的樣本的權(quán)重增加。 Boosting 是一種分類器融合算法。人臉的不確定性, 對(duì)人臉檢測(cè)算法的穩(wěn)定性和 魯棒性提出了更高的要求。 人臉檢測(cè) (Face Detection),是指在既有的圖像中判斷是否存在人臉并 確定 人臉的位置、大小等相關(guān)信息 ,進(jìn) 一步提供人臉的 主要 特征 。 人臉識(shí)別 (Face Recognition)是 指 對(duì)一個(gè)輸入的圖像或視頻圖形,判斷 其 是否含有人臉 圖像, 如果存在人臉圖像 ,再進(jìn)一步判斷圖像中人臉的大小,位置,以及面部 各個(gè) 主要器官的位置。本文主要 通過對(duì)橢圓特性的分析,說明 弦箭算法的原理 , 并在 Microsoft Visual C++ 環(huán)境下利用 C 語言進(jìn)行編程 實(shí)現(xiàn) 。王洪群等 教師 提出了一種橢圓弦箭算法,利用圖像 中 的邊緣 曲線 快速確定人臉位置區(qū)域 , 縮小人臉檢測(cè)算法的搜索空間,以提高 人臉檢測(cè) 算法的速 度 與效率。 例如靜態(tài)領(lǐng)域中的醫(yī)學(xué)、檔案管理、刑偵破案、證件驗(yàn)證、入口控制;動(dòng)態(tài)領(lǐng)域中的人群監(jiān)控、視頻會(huì)議、人機(jī)交互系統(tǒng)等。 人臉識(shí)別首先要對(duì)輸入的圖像進(jìn)行人臉檢測(cè) 。圖像中的人臉往往隨光線的改變、位置的移動(dòng)、傾斜、旋轉(zhuǎn)和縮放等外部變化而變化,而且人臉內(nèi)部也具有復(fù)雜的變化,如表情、長(zhǎng)相、胡須、眼睛閉合、眼鏡等 。 Adaboost 學(xué)習(xí)算法 是 目前最快的人臉檢測(cè)算法之一。 Adaboost 算法通過一個(gè)迭代的訓(xùn)練過程來得到一個(gè)強(qiáng)的分類器。在實(shí)際應(yīng)用中往往都是結(jié)合其他算法來提高運(yùn)算效率。 人臉含有眾多的橢圓曲線邊緣,如外層、內(nèi)層頭發(fā)邊緣、嘴眼邊緣、耳朵邊緣、下顎邊緣等,且曲線凹向均指向人臉內(nèi)部。該算法復(fù)雜度適中,運(yùn)算量較小,定位精度較高,魯棒性好,有很大的實(shí)用價(jià)值。 從橢圓曲線的一般性來看,弦箭算法還有更加廣泛的應(yīng)用。因此橢圓弦箭算法 在 計(jì)算機(jī)視覺技術(shù),模式識(shí)別等領(lǐng)域 可以 實(shí)現(xiàn)更 加 廣泛的應(yīng)用。人臉含有眾多的橢圓邊緣曲線,其凹向大都指向人臉內(nèi)部, 如果對(duì)這些邊緣曲線做法線,進(jìn)行累加投票,其 累加和 最大峰值的位置必接近于人臉內(nèi)部,而 圖像 背景中邊緣曲線的凹向隨機(jī)性很大,累加和最大峰值出現(xiàn)的概率就非常小,從而 可以 確定人臉大概區(qū)域位置。進(jìn)而對(duì)剩下各條曲線依次應(yīng)用弦箭算法,在各點(diǎn)進(jìn)行累加 投票 ,并 記錄最大箭長(zhǎng),根據(jù)累加和
點(diǎn)擊復(fù)制文檔內(nèi)容
醫(yī)療健康相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1