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

正文內(nèi)容

基于opencv的車輛輪廓線檢測(cè)本科生畢業(yè)論文-預(yù)覽頁(yè)

 

【正文】 以 及 計(jì)量檢定規(guī)程等 。我國(guó) 的 汽車檢測(cè)機(jī)構(gòu) 簡(jiǎn)單, 測(cè)量 工具 也相對(duì)簡(jiǎn)易,常用的 有卷尺、角度尺、標(biāo)桿、外徑卡規(guī) 以及 電磁式 、 光學(xué)式檢測(cè) 器 等。 第 2 章 OpenCV 簡(jiǎn)介及其配置 4 第 2 章 OpenCV 簡(jiǎn)介 及其 配置 OpenCV 簡(jiǎn)介 OpenCV 的全稱是: Open Source Computer Vision Library, 該軟件 是由 英特爾 公司資助 開(kāi)發(fā) 的 一個(gè) 開(kāi)源計(jì)算機(jī)視覺(jué)庫(kù)。OpenCV 可以單獨(dú)運(yùn)行, 不依賴其 它 的 外部庫(kù),但 在一定條件下也可以使用 某些外部庫(kù)。在圖像和矩陣運(yùn)算功能上, OpenCV 為此 提供了矩陣、 序列、 數(shù)組等基本 的結(jié)構(gòu)。有較快的運(yùn)算速度,能夠滿足實(shí)時(shí)性運(yùn)算的要求。 OpenCV 環(huán)境介紹 Visual C++是 由 微軟 公司開(kāi)發(fā)的基于 windows 操作系統(tǒng)的編程工具。介紹 OpenCV 的 編程環(huán)境之前,首先要了解 怎樣 安裝 OpenCV,下面的 情況是 假設(shè)已經(jīng)完成 了 Microsoft Visual C++ 6。 第 2 章 OpenCV 簡(jiǎn)介及其配置 6 設(shè)置 環(huán)境 單擊 Tools|Options 菜單 選 項(xiàng),在彈出的對(duì)話框中 選擇 Directories 標(biāo)簽,在 Show directorier for 的 下拉列表框中選擇 Include files,在 Directories文件框中添加路徑 如下: C:\Program files\OpenCV\cxcore\include C: \Program files\OpenCV\cv\include 第 2 章 OpenCV 簡(jiǎn)介及其配置 7 C: \Program files\OpenCV\cvaux\include C: \Program files\OpenCV\otherlibs\highgui C: \Program files\OpenCV\otherlibs\cvcam\include 完成以上操作,則已設(shè)置好 OpenCV 在 下的運(yùn)行環(huán)境。 lib highgui。本章主要介紹對(duì)車輛圖像進(jìn)行腐蝕、膨脹、中值濾波去噪等 圖像 預(yù)處理,為最終的輪廓檢測(cè)提供更精準(zhǔn)的圖像。腐蝕 的原理是收縮 圖像 指定的 區(qū)域,根據(jù) 它 的 這個(gè) 原理 ,可以用 它來(lái)去除 圖像 中 的 菱角。 在 本 篇 文 章 中 ,我們需要做的操作是 先對(duì) 采集到的 圖像進(jìn)行 一次 閉運(yùn)算 操作 , 然 后 再 進(jìn)行開(kāi)運(yùn)算 操作 , 通過(guò)這些操作來(lái) 填平 圖像的 輪廓缺口,去除 圖像中的 孤立的小點(diǎn) 毛刺等,為進(jìn)一步的輪廓提取繪制奠定良好的基礎(chǔ) 。在灰度 圖像 中,由于 其 本身計(jì)算公式的影響,噪聲點(diǎn)是肯定存在 于 其中的,并且 對(duì)圖像的質(zhì)量有很大的影響。 在處理圖像是, 傅立葉空間的高頻分量 可以依靠中值濾波的方法來(lái)消除或削弱 ,但 是對(duì)傅立葉空間的 低頻分量 來(lái)說(shuō)也會(huì)造成一定的影響 。 中值濾波器 在濾除長(zhǎng)尾疊加噪聲和疊加白噪聲時(shí)能夠取得較好的效果 。 圖像 的 二值化閾值分割 在圖像處理過(guò)程時(shí),有著相當(dāng)多的圖像分割方法, 其中一種簡(jiǎn)單而又高效的方法就是二值化 。 圖像分割的 作用 是把 要處理的 圖像空間分割成 若干 具 有 特定 意義的區(qū)域。 在對(duì)輸入的圖像進(jìn)行了二值化分割 后 , 能夠 得到 該圖像的 黑白圖像, 為接下來(lái)的實(shí)驗(yàn)做好準(zhǔn)備工作 。 應(yīng)該指出的是 , 雖然 我們處理 時(shí)用 的是二值圖 像 ,但 是 實(shí)際上 我們輸入的卻 是 256 級(jí) 的 灰度圖, 只不過(guò)我們?cè)谔幚韴D像的時(shí)候只使用到 了 0 和 255 這 兩種顏色。 CV_RETR_LIST 表示的是圖像處理后提取的圖像 輪廓在內(nèi)存中的排列方式, 有下面四種方式 : ? CV_RETR_EXTERNAL: first = c0; ? CV_RETR_CCOMP: 輪廓的排列方式是按照 從里 依次 到外,從右 依次 到左 的順序 , 這 個(gè)表示的 是一個(gè)雙向鏈表; ? CV_RETR_LIST: first = c01001 – c01000 – h0100 – h0000 – h0100 – h0000 – c010 – c000 – h01 – h00 – c0 這也是雙向鏈表; ? CV_RETR_TREE 輪廓提取的代碼如下所示: 第 3 章 車輛圖像的處理 11 include iostream include include include using namespace std。 IplImage *imgColor = cvCreateImage(cvGetSize(img), 8, 3)。 cvThreshold(img, img, 100, 255, CV_THRESH_BINARY)。 contoursTemp = contours。contoursTemp != 0。 // cvGetSeqElem 是為了 得到輪廓中一個(gè)點(diǎn)的函數(shù) cvSetReal2D(contoursImage, pty, ptx, 255。 CvSeq *InterCon = contoursTempv_next。 i InterContotal。 cvSet2D(imgColor, pty, ptx, cvScalar(0, 255, 0, 0))。 cvShowImage(imgColor,imgColor)。 // 也要釋放內(nèi)存序列空間 cvReleaseImage(amp。 cvDestroyWindow(contoursImage)。 在這個(gè)邊界點(diǎn) a 周圍, 右,右下,下,左下 這 四個(gè) 相 鄰 的 點(diǎn) 當(dāng) 中 需要 至少有一個(gè) 點(diǎn)也 是邊界點(diǎn), 那么把這個(gè)點(diǎn)記作 b。 第 4 章 基于 OpenCV 的車輛輪廓線檢測(cè)實(shí)現(xiàn) 14 第 4 章 基于 OpenCV 的車輛輪廓檢測(cè)實(shí)現(xiàn) 本文利用 OpenCV 提供的強(qiáng)大的圖像處理函數(shù)來(lái)對(duì)讀取的車輛圖 片 進(jìn)行一系列的處理, 以此來(lái)實(shí)現(xiàn)車輛輪廓線檢測(cè)的目的。 通常 在 程序 默認(rèn) 的 情況下,讀入的圖像被強(qiáng)制為 3通道 的 彩色圖像。 圖像顯示 為了顯示 輸入 的 圖像, 需 要 先創(chuàng)建一個(gè)窗口,才能顯示 , 創(chuàng)建 窗口 的 函數(shù)語(yǔ)句如下 所示 : int cvNamedWindow( const char* name, int flags=CV_WINDOW_AUTOSIZE )。 在 這個(gè)標(biāo)志被設(shè)置后,用戶 將無(wú)法通過(guò) 手動(dòng) 來(lái) 改變窗口的尺寸 大小, 它會(huì)根據(jù)被 顯示的圖像 來(lái)自行調(diào)整大小,達(dá)到最佳效果 。如果已經(jīng)存在這個(gè)名字的窗口,這個(gè)函數(shù)將不 會(huì) 做任何事情。 若在 窗口創(chuàng)建時(shí) 就 已 經(jīng)被設(shè)定標(biāo)志 CV_WINDOW_AUTOSIZE,那么 此時(shí)顯示的圖像大小 不會(huì)改變, 依舊是其原始尺寸 ;否則,圖像將被伸縮 來(lái)適應(yīng) 窗口 的 大小。 在上述函數(shù)語(yǔ)句中的 image代表的是 雙指針指向圖像內(nèi)存分配單元。 數(shù)學(xué)第 4 章 基于 OpenCV 的車輛輪廓線檢測(cè)實(shí)現(xiàn) 16 形態(tài)學(xué) 的作用是可以 解決 圖像的 特征提取、 抑制 圖像 噪聲、檢測(cè) 圖像邊緣 、 圖像形狀識(shí)別、 圖像分割、 圖像恢復(fù)與重建 等 問(wèn)題。iterations 代表 的是 膨脹的次數(shù)。 平滑處理 的 函數(shù) 語(yǔ)句 如下: void cvSmooth( const CvArr*src, CvArr*dst, int smoothtype=CV_GAUSSIAN, int paraml1=3, int param2=0, double param3=0, double param4=0); 在上述的函數(shù)語(yǔ)句中, src 代表的是 輸入圖像, dst 代表的是 輸出圖像,smoothtype 代表 的是 平滑方法 。 param4 代表 的是 在 出現(xiàn) 非正方形高斯核 的 情況 時(shí) , 可以用這個(gè)參數(shù)來(lái) 指定垂直方向 上 的一個(gè)不 相 同的 sigma。 總的來(lái)說(shuō),圖像平滑的方法包括兩類,即空域法和頻域法。中值濾波 的原理 就是 用窗口內(nèi)像素點(diǎn)的灰度值取中間值,然后再用這個(gè)中間值來(lái)代替所對(duì)應(yīng)的像素點(diǎn)的灰度值。 若 param3 的值 不 是 為零, 但 param1 和 param2 都是 零 時(shí) , 那么核 的 大小由 sigma 來(lái) 計(jì)算( 這樣才可以確保操作是足夠 足夠精確 的 )。 由于本篇文章 中采用 的是 中值濾波 方法來(lái)對(duì)圖像進(jìn)行平滑處理 ,因此 我們 設(shè)置為 CV— MEDIAN,對(duì) 待平滑的 圖像進(jìn)行核大小為 paraml paraml的中值濾波,設(shè)置參數(shù) paraml=3, 其它的參數(shù)根據(jù)實(shí)驗(yàn)的需要,都設(shè)置為 0。 Threshold_type代表閾值類型(如下說(shuō)明 所示 )。相應(yīng)的 函數(shù) 語(yǔ)句 如下 所示 : cvNOT( src, dst); 輪廓檢測(cè)及繪制 在二值 化 圖像中尋找輪廓 ,用以下函數(shù)語(yǔ)句可以實(shí)現(xiàn): int cvFindContours( CvArr* image, CvMemStorage* storage, CvSeq** first_contour,int header_size=sizeof(CvContour), int mode=CV_RETR_LIST, int method=CV_CHAIN_APPROX_SIMPLE, CvPoint offset=cvPoint(0,0) )。 Storage代表 得到的輪廓的存儲(chǔ)容器 ; first_contour代表 輸出參數(shù) ;header_size代表序列頭, 如果 method=CV_CHAIN_CODE,則序列頭的大小 =sizeof(CvChain),否則 =sizeof(CvContour); mode代表 提取模式 ,有如下四種類型: ? CV_RETR_EXTERNAL – 表示 只提取最外層的輪廓; ? CV_RETR_LIST – 表示 提取所有輪廓,并且放置在 list 中; ? CV_RETR_CCOMP – 表示 提取所有輪廓,將其 構(gòu)造成擁有 兩層的 hierarchy: 定義為頂層和次層,分別代表著 連通域的外圍邊界 和洞 內(nèi)層邊界; ? CV_RETR_TREE – 表示 提取 出 所有輪廓,并且重 新 構(gòu) 造 嵌套輪廓的全部 hierarchy; method代表 的是 逼近方法 ,方法可分為五類,具體如下所示 : ? CV_CHAIN_CODE Freeman 鏈碼的輸出輪廓 。 cvFindContours函數(shù)的功能是 從二值圖像中提取 出 輪廓, 然后再 返回提取 到的輪廓的數(shù)目。 在對(duì) 輪廓 進(jìn)行了 查找后,得到 了 一個(gè) contour序列, 在 OpenCV程序 中 有專門 繪制輪廓的函數(shù) 語(yǔ)句,具體 如下所示 : void cvDrawContours( CvArr *img, CvSeq* contour,CvScalar external_color, CvScalar hole_color,int max_level, int thickness=1,int line_type=8, CvPoint offset=cvPoint(0,0) )。如果為負(fù),則不繪制輪廓。在車輛輪廓檢測(cè)中,對(duì)預(yù)處理好的圖像進(jìn)行了輪廓檢測(cè)和輪廓跟蹤,在檢測(cè)函數(shù)的運(yùn)用下得到了車輛局部圖的輪廓線如圖 3 所示,整體效果較為 理想,但由于圖像環(huán)境和背景、光線等原因,使得檢測(cè)出的輪廓線在某些部分存在著不連續(xù)性,但就整體而言,檢測(cè)效果和效率比傳統(tǒng)的檢測(cè)方法有著更大的優(yōu)勢(shì)。由本文可以看出,基于 OpenCV 的車輛輪廓線檢測(cè)程序有著比較高的可行性,若再稍加改進(jìn)和完善,將得到更為理想的檢測(cè)效果。再此向我的指導(dǎo)老師 林慧英老師 表示最崇高的敬意和 最誠(chéng)摯 的謝意
點(diǎn)擊復(fù)制文檔內(nèi)容
研究報(bào)告相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1