日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

OpenCV Fast角点检测

發布時間:2025/5/22 编程问答 27 豆豆
生活随笔 收集整理的這篇文章主要介紹了 OpenCV Fast角点检测 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

FAST是一種用于角點檢測的算法,該算法的原理是取圖像中檢測點,以改點為圓心的周圍鄰域內像素點判斷監測點是否為角點。
OpenCV中的FAST檢測算法是用傳統方法實現的。

實例化fast

fast = cv.FastFeatureDetector_create(threshold, nonmaxSuppression)

參數:

  • threshold:閥值t,有默認值10
  • nonmaxSuppression:是否進行非極大值抑制,默認值True

返回:

  • Fast:創建的FastFeatureDetector對象

利用fast.detect檢測關鍵點,沒有對應的關鍵點描述

kp = fast.detect(igrayImg, None)

參數:

  • gray:進行關鍵點檢測的圖像,注意是灰度圖形

返回:

  • kp:關鍵點信息,包括位置,尺度,方向信息

將關鍵點檢測結果繪制在圖像上

cv.drawKeypoints(image, keypoints, outputimage, color, flags)

代碼實現

import numpy as np import cv2 as cv from matplotlib import pyplot as plt# 1.讀取圖像 img = cv.imread("./1.jpg")# 2.Fast角點檢測 # 2.1創建一個Fast對象,傳入閥值,注意:可以處理彩色空間圖像 fast = cv.FastFeatureDetector_create(threshold=30)# 2.2檢測圖像上的關鍵點 kp = fast.detect(img, None)# 2.3在圖像上繪制關鍵點 img2 = cv.drawKeypoints(img, kp, None, color=(0, 0, 255))# 2.4輸出默認參數 print("Threshold:{}".format(fast.getThreshold())) print("nonmaxSuppression:{}".format(fast.getNonmaxSuppression())) print("neighborhood:{}".format(fast.getType())) print("Total Keypoints with nonmaxSuppression:{}".format(len(kp)))# 2.5關閉非極大值抑制 fast.setNonmaxSuppression(0) kp = fast.detect(img, None)print("Total Keypoints without nonmaxSuppression:{}".format(len(kp)))# 2.6繪制為進行非極大值抑制效果 img3 = cv.drawKeypoints(img, kp, None, color=(0, 0, 255))# 3.繪制圖像 fig, axes = plt.subplots(nrows=1, ncols=3, figsize=(10, 8), dpi=100) axes[0].imshow(img[:, :, ::-1]) axes[0].set_title("原圖") axes[1].imshow(img2[:, :, ::-1]) axes[1].set_title("加入非極大值抑制") axes[2].imshow(img3[:, :, ::-1]) axes[2].set_title("未加入非極大值抑制") plt.show()


Fast算法:
若一個像素周圍有一定數量的像素與該點像素值不同,則認為其為角點。

Fast算法的缺點:

  • 獲取的候選點比較多
  • 特征點的選取不是最優的,因為它的效果取決于要解決的問題和角點的分布情況。
  • 進行非特征點判別時大量的點被丟棄
  • 檢測到的很多特征點都是相鄰的

前 3個問題可以通過機器學習的方法解決,最后一個問題可以使用非最大值抑制的方法解決。

Fast算法比其它角點的檢測算法快,但是在噪聲較高時不夠穩定,這需要設置合適的閥值。

《新程序員》:云原生和全面數字化實踐50位技術專家共同創作,文字、視頻、音頻交互閱讀

總結

以上是生活随笔為你收集整理的OpenCV Fast角点检测的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。