Python計算機視覺——Harris角點檢測
新建檔案 Harris_Detector.py
from pylab import *
from numpy import *
from scipy.ndimage import filters
def compute_harris_response(im,sigma=3):
""" Compute the Harris corner detector response function
for each pixel in a graylevel image. """
# derivatives
imx = zeros(im.shape)
filters.gaussian_filter(im, (sigma,sigma), (0,1), imx)
imy = zeros(im.shape)
filters.gaussian_filter(im, (sigma,sigma), (1,0), imy)
# compute components of the Harris matrix
Wxx = filters.gaussian_filter(imx*imx,sigma)
Wxy = filters.gaussian_filter(imx*imy,sigma)
Wyy = filters.gaussian_filter(imy*imy,sigma)
# determinant and trace
Wdet = Wxx*Wyy - Wxy**2
Wtr = Wxx + Wyy
return Wdet / Wtr
def get_harris_points(harrisim,min_dist=10,threshold=0.1):
""" Return corners from a Harris response image
min_dist is the minimum number of pixels separating
corners and image boundary. """
# find top corner candidates above a threshold
corner_threshold = harrisim.max() * threshold
harrisim_t = (harrisim > corner_threshold) * 1
# get coordinates of candidates
coords = array(harrisim_t.nonzero()).T
# ...and their values
candidate_values = [harrisim[c[0],c[1]] for c in coords]
# sort candidates (reverse to get descending order)
index = argsort(candidate_values)[::-1]
# store allowed point locations in array
allowed_locations = zeros(harrisim.shape)
allowed_locations[min_dist:-min_dist,min_dist:-min_dist] = 1
# select the best points taking min_distance into account
filtered_coords = []
for i in index:
if allowed_locations[coords[i,0],coords[i,1]] == 1:
filtered_coords.append(coords[i])
allowed_locations[(coords[i,0]-min_dist):(coords[i,0]+min_dist),
(coords[i,1]-min_dist):(coords[i,1]+min_dist)] = 0
return filtered_coords
def plot_harris_points(image,filtered_coords):
""" Plots corners found in image. """
figure()
gray()
imshow(image)
plot([p[1] for p in filtered_coords],
[p[0] for p in filtered_coords],'*')
axis('off')
show()
上述三個函式分別代表這步驟中的 234 。外匯跟單gendan5.com 1 步驟則新建 test_harris.py
from PIL import Image
from numpy import *
# 這就是為啥上述要新建一個的原因,因為現在就可以 import
import Harris_Detector
from pylab import *
from scipy.ndimage import filters
# filename
im = array(Image.open(r" ").convert('L'))
harrisim=Harris_Detector.compute_harris_response(im)
filtered_coords=Harris_Detector.get_harris_points(harrisim)
Harris_Detector.plot_harris_points(im,filtered_coords)
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69946337/viewspace-2776561/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- OpenCV計算機視覺學習(13)——影像特徵點檢測(Harris角點檢測,sift演算法)OpenCV計算機視覺特徵演算法
- 【OpenCV】角點檢測:Harris角點及Shi-Tomasi角點檢測OpenCV
- 2.Harris角點檢測
- OpenCV學習筆記-Harris角點檢測OpenCV筆記
- [Computer Vision]Harris角點檢測的詳細推導
- 【火爐煉AI】機器學習048-Harris檢測影像角點AI機器學習
- 計算機視覺 OpenCV Android | 基本特徵檢測之 霍夫圓檢計算機視覺OpenCVAndroid特徵
- 計算機視覺專案-人臉識別與檢測計算機視覺
- Python計算機視覺-第2章Python計算機視覺
- opencv——機器視覺檢測和計數OpenCV視覺
- 基於深度學習的計算機視覺應用之目標檢測深度學習計算機視覺
- Python 計算機視覺(十五)—— 影像特效處理Python計算機視覺特效
- 【計算機視覺前沿研究 熱點 頂會】ECCV 2024中目標檢測有關的論文計算機視覺
- 計算機視覺筆記及資料整理(含影象分割、目標檢測)計算機視覺筆記
- [計算機視覺]人臉應用:人臉檢測、人臉對比、五官檢測、眨眼檢測、活體檢測、疲勞檢測計算機視覺
- iOS計算機視覺—ARKitiOS計算機視覺
- 計算機視覺論文集計算機視覺
- Opencv中goodFeaturesToTrack函式(Harris角點、Shi-Tomasi角點檢測)運算元速度的進一步最佳化(1920*1080測試圖11ms處理完成)。OpenCVGoREST函式
- 計算機視覺—影象特效(3)計算機視覺特效
- 計算機視覺環境配置計算機視覺
- OpenVINO計算機視覺模型加速計算機視覺模型
- 【計算機視覺】視訊格式介紹計算機視覺
- 目標檢測和影像分類及其相關計算機視覺的影像分佈計算機視覺
- 計算機視覺3-> yolov5目標檢測1 |從入門到出土計算機視覺YOLO
- 計算機視覺頂會引用格式計算機視覺
- 計算機視覺方向乾貨文章計算機視覺
- 人工智慧 (14) 計算機視覺人工智慧計算機視覺
- Fast角點檢測演算法AST演算法
- iOS計算機視覺—人臉識別iOS計算機視覺
- 計算機視覺基本原理——RANSAC計算機視覺
- Pytorch計算機視覺實戰(更新中)PyTorch計算機視覺
- 計算機視覺方向文章清單20191105計算機視覺
- 計算機視覺技術專利分析計算機視覺
- 計算機視覺與深度學習公司計算機視覺深度學習
- 計算機視覺中的深度學習計算機視覺深度學習
- 計算機視覺崗實習面經計算機視覺
- 【機器視覺】機器人及視覺檢測系統在螺絲檢測包裝生產線上的應用視覺機器人
- 計算機視覺中的注意力機制計算機視覺