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

正文內(nèi)容

基于數(shù)字圖像處理技術(shù)的缺陷檢測(cè)算法研究-資料下載頁(yè)

2025-06-23 18:03本頁(yè)面
  

【正文】 點(diǎn)檢測(cè)方法有兩種:(1) 提取圖像邊緣,并以鏈碼形式表示,然后尋找具有最大曲率的點(diǎn)作為角點(diǎn)。(2) 對(duì)圖像灰度進(jìn)行操作,計(jì)算圖像灰度分布的曲率,以最大曲率的點(diǎn)作為角點(diǎn)。2) Harris算法Harris算子是Harris在1988年提出的[13]。Harris角點(diǎn)檢測(cè)只是涉及到簡(jiǎn)單的矩陣和一階導(dǎo)數(shù)運(yùn)算,能夠根據(jù)閾值提取出局部“興趣點(diǎn)”。Harris法是角點(diǎn)檢測(cè)的常用方法,它的原理是利用水平、豎直兩個(gè)差分算子Ix、Iy, 求得m的4個(gè)元素值,并對(duì)圖像每個(gè)像素進(jìn)行濾波,最后根據(jù)求得的角點(diǎn)陣cim的值來(lái)確定每個(gè)點(diǎn)是否為角點(diǎn)。 其中: 角點(diǎn)最直觀的印象就是在水平、豎直兩個(gè)方向上變化均較大的點(diǎn),即Ix、Iy都較大。Ix、Iy是沿著水平和垂直方向的差分算子。這也是把角點(diǎn)和圖像邊緣、以及平坦地區(qū)區(qū)分的依據(jù)。邊緣:僅在水平、或者僅在豎直方向有較大的變化量,即Ix、Iy只有其一較大。平坦地區(qū):在水平、豎直方向的變化量均較小,即Ix、Iy都較小。3) Matlab仿真結(jié)果:圖 31 中(a),(b)是兩幅待配準(zhǔn)的圖像,圖 32 (c)是用通過(guò)Harris角點(diǎn)特征特征的匹配關(guān)系建立圖像之間的配準(zhǔn)映射關(guān)系,圖 32 (d)是兩圖配準(zhǔn)之后的圖像。 (a) 提取角點(diǎn)的待配準(zhǔn)圖A (b)提取角點(diǎn)的待配準(zhǔn)圖B圖 31 提取角點(diǎn)的待配準(zhǔn)圖 (c) A和B之間的配準(zhǔn)映射關(guān)系 (d) A、B基于Harris 角點(diǎn)檢測(cè)的配準(zhǔn)圖圖 32 A、B之間的配準(zhǔn)關(guān)系由以上圖 32可以看出,配準(zhǔn)后的2幅圖融合的不錯(cuò),只是中間在2幅圖銜接的地方由于算法的問(wèn)題導(dǎo)致銜接處有一道劃痕。這個(gè)問(wèn)題目前還沒(méi)有做進(jìn)一步的探討。 OpenCV的運(yùn)用和VC++、Xavis的聯(lián)合調(diào)試的實(shí)現(xiàn) OpenCV的基本概念OpenCV的全稱(chēng)是:Open Source Computer Vision Library, 是Intel公司支持的開(kāi)源計(jì)算機(jī)視覺(jué)庫(kù)。它輕量級(jí)而且高效——由一系列 C 函數(shù)和少量 C++ 類(lèi)構(gòu)成,實(shí)現(xiàn)了圖像處理和計(jì)算機(jī)視覺(jué)方面的很多通用算法[14]。 OpenCV的應(yīng)用計(jì)算機(jī)視覺(jué)市場(chǎng)巨大而且持續(xù)增長(zhǎng),且這方面沒(méi)有標(biāo)準(zhǔn)API,目前的計(jì)算機(jī)視覺(jué)軟件大概有以下三種: 1) 研究代碼(慢,不穩(wěn)定,獨(dú)立并與其他庫(kù)不兼容) 2) 耗費(fèi)很高的商業(yè)化工具(比如Halcon, MATLAB+Simulink) 3) 依賴(lài)硬件的一些特別的解決方案(比如視頻監(jiān)控,制造控制系統(tǒng),醫(yī)療設(shè)備) 這是目前的現(xiàn)狀。而標(biāo)準(zhǔn)的API將簡(jiǎn)化計(jì)算機(jī)視覺(jué)程序和解決方案的開(kāi)發(fā)。OpenCV致力于成為這樣的標(biāo)準(zhǔn)API。目前OpenCV的應(yīng)用領(lǐng)域有以下幾個(gè)方面:1) 人機(jī)互動(dòng) 2) 物體識(shí)別 3) 圖象分割 4) 人臉識(shí)別 5) 動(dòng)作識(shí)別 6) 運(yùn)動(dòng)跟蹤 7) 機(jī)器人 OpenCV的基本數(shù)據(jù)機(jī)構(gòu):IplImage結(jié)構(gòu)由于OpenCV主要針對(duì)的是計(jì)算機(jī)視覺(jué)方面的處理,因此在函數(shù)庫(kù)中,最重要的結(jié)構(gòu)體是IplImage結(jié)構(gòu)。IplImage結(jié)構(gòu)來(lái)源于Intel的另外一個(gè)函數(shù)庫(kù)Intel Image Processing Library (IPL),該函數(shù)庫(kù)主要是針對(duì)圖像處理。IplImage結(jié)構(gòu)具體定義如下[14][16]:  typedef struct _IplImage  {  int nSize。 /* IplImage大小 */  int ID。 /* 版本 (=0)*/  int nChannels。 /* OPENCV支持的1,2,3 或 4 個(gè)通道 */  int alphaChannel。 /* 被OpenCV忽略 */  int depth。 /* 像素的位深度*/  char colorModel[4]。 /* 被OpenCV忽略 */  char channelSeq[4]。 /* 同上 */  int dataOrder。 /* 交叉存取圖像通道 */  int origin。 /*圖像原點(diǎn)位置*/  int align。 /* 圖像行排列方式 */  int width。 /* 圖像寬像素?cái)?shù) */  int height。 /* 圖像高像素?cái)?shù)*/  struct _IplROI *roi。 /* 圖像感興趣區(qū)域 */  struct _IplImage *maskROI。 /* 在 OpenCV中必須為NULL */  void *imageId。 /* 同上*/  struct _IplTileInfo *tileInfo。 /*同上*/  int imageSize。 /* 圖像數(shù)據(jù)大小*/  char *imageData。 /* 指向排列的圖像數(shù)據(jù) */  int widthStep。 /* 排列的圖像行大小,以字節(jié)為單位 */  int BorderMode[4]。 /* 邊際結(jié)束模式, 在 OpenCV 被忽略*/  int BorderConst[4]。 /* 同上 */  char *imageDataOrigin。 /* 指針指向一個(gè)不同的圖像數(shù)據(jù)結(jié)構(gòu)*/  } IplImage。IplImage結(jié)構(gòu)體是整個(gè)OpenCV函數(shù)庫(kù)的基礎(chǔ),在定義該結(jié)構(gòu)變量時(shí)需要用到函數(shù)cvCreatImage,變量定義方法如下: IplImage* src=/cvCreateImage(cvSize(400,300), IPL_DEPTH_8U,3)。 上句定義了一個(gè)IplImage指針變量src,圖像的大小是400300,圖像顏色深度8位,3通道圖像。 Xavis、VC++、OpenCV聯(lián)合調(diào)試實(shí)現(xiàn)缺陷檢測(cè)算法Xavis具有開(kāi)放式結(jié)構(gòu)的特點(diǎn),允許用戶(hù)添加自定義算法函數(shù),實(shí)現(xiàn)算法庫(kù)的擴(kuò)展。在添加自定義算法過(guò)程中,為方便程序調(diào)試和修改,可采用聯(lián)合調(diào)試的辦法。Xavis軟件支持OpenCV,即在用戶(hù)自定義算法中可以調(diào)用OpenCV庫(kù)中的優(yōu)秀算法。本節(jié)簡(jiǎn)述一下聯(lián)合調(diào)試與利用OpenCV庫(kù)進(jìn)行算法庫(kù)擴(kuò)展時(shí)應(yīng)注意的相關(guān)問(wèn)題[2]。1)當(dāng)需要與 Xavis軟件進(jìn)行聯(lián)合調(diào)試時(shí),可將Xavis軟件拷貝至當(dāng)前工程目錄下release子目錄(必要時(shí)將軟件當(dāng)前目錄下的cv與win文件夾中的文件全部移動(dòng)至上層目錄)。并更改配置[8],如圖 33所示:圖 33 更該工程配置2)利用OpenCV算法庫(kù)進(jìn)行自定義開(kāi)發(fā)時(shí),[2]:(1) 選擇ToolsOptions,在Directories選項(xiàng)卡中添加文件路徑信息,如圖 34所示:圖 34 添加OpenCV庫(kù)路徑信息 (2)選擇ProjectSettings在Link選項(xiàng)卡中做如圖 35修改:圖 35 添加OpenCV庫(kù)信息(3)作以上的修改后,就可以在VC++下編寫(xiě)用于實(shí)現(xiàn)缺陷檢測(cè)的動(dòng)態(tài)鏈接庫(kù)dll文件,調(diào)試無(wú)誤后,導(dǎo)入工業(yè)組態(tài)軟件Xavis中,就可以運(yùn)行了,如圖圖 36所示:圖 36 給Xavis添加dll文件 本章小結(jié)本章首先介紹了Matlab用于圖像處理的仿真方法,然后用Matlab實(shí)現(xiàn)了基于Harris角點(diǎn)檢測(cè)的圖像配準(zhǔn),取得了不錯(cuò)的結(jié)果。其次,本章著重介紹了OpenCV的概念和用法,研究并實(shí)現(xiàn)了Xavis、VC++、OpenCV三者的聯(lián)合調(diào)試。為后續(xù)的VC++下研究算法并打包成dll文件供Xavis調(diào)用提供了基礎(chǔ)。4 基于圖像處理的表面缺陷檢測(cè)算法研究與實(shí)現(xiàn)在第三章中詳細(xì)地介紹了圖像處理的基本算法,并用Matlab實(shí)現(xiàn)了一些功能的仿真。并粗略介紹了OpenCV的功能和應(yīng)用。本章結(jié)合給定的待檢測(cè)圖片,綜合利用上二章中所介紹的算法,實(shí)現(xiàn)給定圖像的缺陷檢測(cè)。本章首先介紹了檢測(cè)的流程,然后討論了最重要的幾種圖像配準(zhǔn)算法。由于給定的圖像的種類(lèi)比較多,不可能一一介紹每種圖像的檢測(cè)算法,只介紹了三種種圖片的檢測(cè)算法。 基于圖像處理的缺陷檢測(cè)基本流程用VC++給Xavis 添加圖像表面缺陷檢測(cè)的動(dòng)態(tài)鏈接庫(kù)文件,其中圖像處理的缺陷檢測(cè)基本流程如下:圖 41 缺陷檢測(cè)基本流程圖該算法的關(guān)鍵是圖像配準(zhǔn)算法和圖像比對(duì)算法的選擇,這是算法復(fù)雜性的重要因素之一。另外,算法還要求一定得魯棒性,這里不再贅述。 基于形態(tài)學(xué)處理的缺陷檢測(cè)算法研究與實(shí)現(xiàn)基于形態(tài)學(xué)處理的缺陷檢測(cè)主要用來(lái)檢測(cè)的是軸承表面的缺陷檢測(cè),待檢測(cè)圖如圖 42 :圖 42 待檢測(cè)圖像由上圖可以看出,產(chǎn)品缺陷主要是在兩個(gè)圓環(huán)之間的區(qū)域,因此只要將兩個(gè)圓環(huán)檢測(cè)出來(lái)確定缺陷所在區(qū)域,然后再用閾值分割法即可確定出缺陷的具體位置,基于此點(diǎn),我們?cè)O(shè)計(jì)了以下的處理算法來(lái)標(biāo)定缺陷。 高斯濾波,平滑圖像1) 高斯濾波的概念高斯濾波實(shí)質(zhì)上是一種信號(hào)的濾波器,其用途是信號(hào)的平滑處理,我們知道數(shù)字圖像用于后期應(yīng)用,其噪聲是最大的問(wèn)題,由于誤差會(huì)累計(jì)傳遞等原因,很多圖像處理教材會(huì)在很早的時(shí)候介紹Gauss濾波器,用于得到信噪比SNR較高的圖像(反應(yīng)真實(shí)信號(hào))。于此相關(guān)的有GaussLapplace變換,其實(shí)就是為了得到較好的圖像邊緣,先對(duì)圖像做Gauss平滑濾波,剔除噪聲,然后求二階導(dǎo)矢,用二階導(dǎo)的過(guò)零點(diǎn)確定邊緣,在計(jì)算時(shí)也是頻域乘積=空域卷積。 濾波器就是建立的一個(gè)數(shù)學(xué)模型,通過(guò)這個(gè)模型來(lái)將圖像數(shù)據(jù)進(jìn)行能量轉(zhuǎn)化,能量低的就排除掉,噪聲就是屬于低能量部分 其實(shí)編程運(yùn)算的話就是一個(gè)模板運(yùn)算,拿圖像的八連通區(qū)域來(lái)說(shuō),中間點(diǎn)的像素值就等于八連通區(qū)的像素值的均值,這樣達(dá)到平滑的效果。 若使用理想濾波器,會(huì)在圖像中產(chǎn)生振鈴現(xiàn)象。采用高斯濾波器的話,系統(tǒng)函數(shù)是平滑的,避免了振鈴現(xiàn)象。2) cvSmooth函數(shù)[16]cvSmooth( const void* srcarr, void* dstarr, int smoothtype,int param1, int param2, double param3 )cvSmooth函數(shù)的作用是對(duì)圖象做各種方法的圖象平滑。其中,srcarr為輸入圖象;dstarr為輸出圖象;param1為平滑操作的第一個(gè)參數(shù);param2為平滑操作的第二個(gè)參數(shù)(如果param2值為0,則表示它被設(shè)為param1);param3是對(duì)應(yīng)高斯參數(shù)的標(biāo)準(zhǔn)差。參數(shù)smoothtype是圖象平滑的方法選擇,主要的平滑方法有以下五種: CV_BLUR_NO_SCALE:簡(jiǎn)單不帶尺度變換的模糊,即對(duì)每個(gè)象素在 param1param2領(lǐng)域求和。CV_BLUR:對(duì)每個(gè)象素在param1param2鄰域求和并做尺度變換 1/(param1?param2)。CV_GAUSSIAN:對(duì)圖像進(jìn)行核大小為param1param2的高斯卷積。CV_MEDIAN:對(duì)圖像進(jìn)行核大小為param1param1 的中值濾波(鄰域必須是方的)。CV_BILATERAL:雙向?yàn)V波,應(yīng)用雙向 3x3 濾波,彩色設(shè)置為param1,空間設(shè)置為param2。 二值化前景圖本步驟對(duì)圖像進(jìn)行閾值分割,將灰度圖像轉(zhuǎn)化成二值圖像。1) 二值化一幅圖像包括目標(biāo)物體、背景還有噪聲,要想從多值二值化的數(shù)字圖像中直接提取出目標(biāo)物體,最常用的方法就是設(shè)定一個(gè)閾值T,用T將圖像的數(shù)據(jù)分成兩部分:大于T的像素群和小于T的像素群。這是研究灰度變換的最特殊的方法,稱(chēng)為圖像的二值化(BINARIZATION)[11]。圖像的二值化,就是將圖像上的像素點(diǎn)的灰度值設(shè)置為0或255,也就是將整個(gè)圖像呈現(xiàn)出明顯的只有黑和白的視覺(jué)效果。2) cvThreshold函數(shù)cvThreshold是opencv庫(kù)中的一個(gè)函數(shù)作用:函數(shù) cvThreshold 對(duì)單通道數(shù)組應(yīng)用固定閾值操作。該函數(shù)的典型應(yīng)用是對(duì)灰度圖像進(jìn)行閾值操作得到二值圖像。 或者是去掉噪聲,例如過(guò)濾很小或很大象素值的圖像點(diǎn)。本函數(shù)支持的對(duì)圖像取閾值的方法由 threshold_type 確定。形式:void cvThreshold( const CvArr* src, CvArr* dst, double threshold, double max_value, int threshold_type )。其中:src:原始數(shù)組 (單通道 , 8bit of 32bit 浮點(diǎn)數(shù))。dst:輸出數(shù)組,必須與 src 的類(lèi)型一致,或者為 8bit。threshold:閾值 max_value:使用 CV_THRESH_BINARY 和 CV_THRESH_BINARY_INV 的最大值。  threshold_type:閾值類(lèi)型 threshold_type=CV_THRESH_BINARY:如果 src(x,y)threshold 0,dst(x,y) = max_value, 否則. threshold_type=CV_THRESH_BINARY_INV: 如果 src(x,y)threshold,dst(x,y) = 0。 否則,dst(x,y) = ma
點(diǎn)擊復(fù)制文檔內(nèi)容
試題試卷相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1