模塊10 圖像濾波《計算機視覺處理項目實戰(zhàn)》教學課件_第1頁
模塊10 圖像濾波《計算機視覺處理項目實戰(zhàn)》教學課件_第2頁
模塊10 圖像濾波《計算機視覺處理項目實戰(zhàn)》教學課件_第3頁
模塊10 圖像濾波《計算機視覺處理項目實戰(zhàn)》教學課件_第4頁
模塊10 圖像濾波《計算機視覺處理項目實戰(zhàn)》教學課件_第5頁
已閱讀5頁,還剩30頁未讀 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

《計算機視覺處理項目實戰(zhàn)》?精品課件合集?精品課件合集第X章XXXX模塊10圖像濾波哈里斯角檢測CONTENTS目錄01哈里斯角檢測哈里斯角檢測哈里斯角檢測是克里斯·哈里斯(ChrisHarris)和邁克·斯蒂芬斯(MikeStephens)在他們論文中提出的一種角檢測方法。cv2.cornerHarris()函數(shù)根據(jù)哈里斯角檢測器算法檢測圖像中的角,其基本格式如下。dst=cv2.cornerHarris(src,blockSize,ksize,k)參數(shù)說明如下。dst為返回結(jié)果,它是一個numpy.ndarray對象,大小和src相同,每一個數(shù)組元素對應(yīng)一個像素點,其值越大,對應(yīng)像素點是角的概率越高。src為8位單通道或浮點值圖像。blockSize為鄰域大小,值越大,檢測出的角占的區(qū)域越大。ksize為哈里斯角檢測器使用的Sobel算子的中孔參數(shù)。k為哈里斯角檢測器的自由參數(shù)。ksize和k影響檢測的敏感度,值越小,檢測出的角越多,但準確率越低。哈里斯角檢測示例importcv2ascvimportnumpyasnpimportmatplotlib.pyplotaspltsrc=cv.imread("./image/tree.jpg")gray=cv.cvtColor(src,cv.COLOR_BGR2GRAY)gray=np.float32(gray)dst=cv.cornerHarris(gray,2,3,0.04)src[dst>0.001*dst.max()]=[0,0,255]cv.imshow("src",src)cv.waitKey()cv.destroyAllWindows()總結(jié)01哈里斯角檢測SIFT關(guān)鍵點檢測CONTENTS目錄0102SIFT關(guān)鍵點檢測步驟SIFT關(guān)鍵點檢測SIFT關(guān)鍵點檢測步驟也可以使用detecAndCompute()同時檢測關(guān)鍵點和描述子并計算3使用detect()函數(shù)進行SIFT關(guān)鍵點檢測2先創(chuàng)建SIFT實例化對象1sift=cv.xfeatures2d.SIFT_creat()kp=sift.detect(gray,None)kp,des=sift.detecAndCompute(gray,None)4SIFT關(guān)鍵點檢測使用drawKeypoints()方法將檢測到的關(guān)鍵點結(jié)果繪制在圖像上。語法格式如下所示:cv.drawKeypoints(image,keypoints,outputimage,color,flags)參數(shù)說明keypoints關(guān)鍵點信息,將其繪制在圖像上outputimage輸出圖片,可以是原始圖像color顏色flags繪圖功能的標識設(shè)置SIFT關(guān)鍵點檢測方式說明DRAW_MATCHES_FLAGS_DEFAULT創(chuàng)建輸出圖像矩陣,使用現(xiàn)存的輸出圖像繪制匹配對和特征點,對每一個關(guān)鍵點只繪制中間點DRAW_MATCHES_FLAGS_DRAW_OVER_OUTIMG不創(chuàng)建輸出圖像矩陣,而是在輸出圖像上繪制匹配對DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS對每一個特征點繪制帶大小和方向的關(guān)鍵點圖形DRAW_MATCHES_FLAGS_NOT_DRAW_SINGLE_POINTS單點的特征點不被控制SIFT關(guān)鍵點檢測示例importcv2ascvimportnumpyasnpimportmatplotlib.pyplotaspltimg=cv.imread("./image/dog.jpg")gray=cv.cvtColor(img,cv.COLOR_BGR2GRAY)sift=cv.xfeatures2d.SIFT_create()kp,des=sift.detectAndCompute(gray,None)cv.drawKeypoints(img,kp,img,flags=cv.DRAW_MATCHES_FLAGS_DRAW_RICH_KEYPOINTS)cv.imshow("img",img)cv.waitKey()cv.destroyAllWindows()總結(jié)0102SIFT關(guān)鍵點檢測步驟SIFT關(guān)鍵點檢測Shi-Tomasi角檢測CONTENTS目錄01Shi-Tomasi角檢測Shi-Tomasi角檢測Shi-Tomasi角檢測是史建波(JianboShi)和卡羅·托馬西(CarloTomasi)在哈里斯角檢測基礎(chǔ)上提出的改進角檢測的方法。OpenCV的cv.goodFeaturesToTrack()函數(shù)使用Shi-Tomasi角檢測器查找圖像中的N個最強角,其基本格式如下。dst=cv.goodFeaturesToTrack(src,maxCorners,qualityLevel,minDistance)參數(shù)說明如下。dst為返回結(jié)果,保存了檢測到的角在原圖像中的坐標。src為8位單通道或浮點值圖像。maxCorners為返回的角的最大數(shù)量。qualityLevel為可接受的角的最低質(zhì)量。minDistance為返回的角之間的最小歐幾里得距離。Shi-Tomasi角檢測示例importcv2ascvimportnumpyasnpimg=cv.imread("./image/tree.jpg")gray=cv.cvtColor(img,cv.COLOR_BGR2GRAY)corners=cv.goodFeaturesToTrack(gray,1000,0.01,10)corners=0(corners)foriincorners:x,y=i.ravel()#數(shù)組降維成一維數(shù)組cv.circle(img,(x,y),3,(0,0,255),-1)cv.imshow('img',img)cv.waitKey(0)cv.destroyAllWindows()總結(jié)01Shi-Tomasi角檢測FAST特征檢測CONTENTS目錄01FAST特征檢測FAST特征檢測FAST特征檢測器主要根據(jù)像素周圍16個像素的強度和閾值等參數(shù)來判斷像素是否為關(guān)鍵點可調(diào)用cv2.FastFeatureDetector_create()函數(shù)創(chuàng)建一個FAST對象調(diào)用FAST對象的detect()方法執(zhí)行關(guān)鍵點檢測,該方法將返回一個關(guān)鍵點列表每個關(guān)鍵點對象均包含了關(guān)鍵點的角度、坐標、響應(yīng)強度和鄰域大小等信息FAST特征檢測示例importcv2ascvimg=cv.imread("./image/tree.jpg")gray=cv.cvtColor(img,cv.COLOR_BGR2GRAY)fast=cv.FastFeatureDetector_create(threshold=30)kp=fast.detect(gray,None)img1=cv.drawKeypoints(gray,kp,None,color=(0,0,255))cv.imshow("img",img)cv.waitKey()cv.destroyAllWindows()總結(jié)01FAST特征檢測暴力匹配器CONTENTS目錄0102暴力匹配器創(chuàng)建暴力匹配器對象操作暴力匹配器創(chuàng)建暴力匹配器使用描述符進行特征比較。在比較時,暴力匹配器首先在查詢描述符中取一個關(guān)鍵點的描述符,將其與訓(xùn)練描述符中的所有關(guān)鍵點描述符進行比較,每次比較后會給出一個距離值,距離最小的值對應(yīng)最佳匹配結(jié)果。所有描述符比較完后,匹配器返回匹配結(jié)果列表。OpenCV的cv2.BFMatcher_create()函數(shù)用于創(chuàng)建暴力匹配器,其基本格式如下。bf=cv2.BFMatcher_create([normType[,crossCheck]])參數(shù)說明如下。bf為返回的暴力匹配器對象。normType為距離測量類型,默認為cv2.NORM_L2。通常,SIFT、SURF等描述符使用cv2.NORM_L1或cv2.NORM_L2,ORB、BRISK或BRIEF等描述符使用cv2.NORM_HAMMING。crossCheck默認為False,匹配器為每個查詢描述符找到k個距離最近的匹配描述符。crossCheck為True時,只返回滿足交叉驗證條件的匹配結(jié)果。暴力匹配器對象操作暴力匹配器對象的match()方法返回每個關(guān)鍵點的最佳匹配結(jié)果,其基本格式如下。ms=bf.match(des1,des2)參數(shù)說明如下。ms為返回的匹配結(jié)果,它是一個DMatch對象列表。每個DMatch對象表示關(guān)鍵點的一個匹配結(jié)果,其distance屬性表示距離,值越小匹配度越高。des1為查詢描述符。des2為訓(xùn)練描述符。暴力匹配器對象操作獲得匹配結(jié)果后,可調(diào)用cv2.drawMatches()或cv2.drawMatchesKnn()函數(shù)繪制匹配結(jié)果圖像,其基本格式如下。outImg=cv2.drawMatches(img1,keypoints1,img2,keypoints2,matches1to2,outImg[,matchColor[,singlePointColor[,matchesMask[,flags]]]])outImg=cv2.drawMatchesKnn(img1,keypoints1,img2,keypoints2,matches1to2,outImg[,matchColor[,singlePointColor[,matchesMask[,flags]]]])暴力匹配器對象操作outImg為返回的繪制結(jié)果圖像,圖像中查詢圖像與訓(xùn)練圖像中匹配的關(guān)鍵點和兩點之間的連線為彩色。img1為查詢圖像。keypoints1為img1的關(guān)鍵點。img2為訓(xùn)練圖像。keypoints2為img2的關(guān)鍵點。matches1to2為img1與img2的匹配結(jié)果。matchColor為關(guān)鍵點和連接線的顏色,默認使用隨機顏色。singlePointColor為單個關(guān)鍵點的顏色,默認使用隨機顏色。matchesMask為掩模,用于決定繪制哪些匹配結(jié)果,默認為空,表示繪制所有匹配結(jié)果。flags為標志,可設(shè)置為下列參數(shù)值。暴力匹配器對象操作01cv2.DrawMatchesFlags_DEFAULT默認方式,繪制兩個源圖像、匹配項和單個關(guān)鍵點,沒有圍繞關(guān)鍵點的圓以及關(guān)鍵點的大小和方向02cv2.DrawMatchesFlags_NOT_DRAW_SINGLE_POINTS不會繪制單個關(guān)鍵點04cv2.DrawMatchesFlags_DRAW_RICH_KEYPOINTS在關(guān)鍵點周圍繪制具有關(guān)鍵點大小和方向的圓圈03cv2.DrawMatchesFlags_DRAW_OVER_OUTIMG根據(jù)輸出圖像的現(xiàn)有內(nèi)容進行繪制暴力匹配器對象操作暴力匹配器對象的knnMatch()方法可返回指定數(shù)量的最佳匹配結(jié)果,其基本格式如下。ms=bf.knnMatch(des1,des2,k=n)參數(shù)說明如下。ms為返回的匹配結(jié)果列表,每個列表元素是一個子列表,它包含了由參數(shù)k指定個數(shù)的DMatch對象。des1為查詢描述符。des2為訓(xùn)練描述符。k為返回的最佳匹配個數(shù)。暴力匹配器對象操作示例importcv2importmatplotlib.pyplotaspltimg1=cv2.imread('xhu1.jpg',cv2.IMREAD_GRAYSCALE) img2=cv2.imread('xhu2.jpg',cv2.IMREAD_GRAYSCALE) orb=cv2.ORB_create() kp1,des1=orb.detectAndCompute(img1,None)kp2,des2=orb.detectAndCompute(img2,None)bf=cv2.BFMatcher_create(cv2.NORM_HAMMING,crossCheck=True)

ms=bf.match(des1,des2)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論