<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
角點是水平方向、垂直方向變化都很大的畫素。
使用一個固定視窗在影象上進行任意方向上的滑動,比較滑動前與滑動後兩種情況,視窗中的畫素灰度變化程度,如果存在任意方向上的滑動,都有著較大灰度變化,那麼我們可以認為該視窗中存在角點。
目前,角點檢測演演算法還不是十分完善,許多演演算法需要依賴大量的訓練集和冗餘資料來防止和減少錯誤的特徵的出現。對於角點檢測演演算法的重要評價標準是:其對多幅影象中相同或者相似特徵的檢測能力,並且能夠應對光照變化、或者影象旋轉等影響。
關於角點的具體描述可以有幾種:
三類角點檢測演演算法:
(1)找出角點
用高斯運算元求出畫素水平方向和垂直方向的梯度dx, dy,–> 對梯度的平方dxdx ,dydy, dxdy濾波得到Wxx ,Wxy,Wyy --> 在求的(WxxWyy - Wxy**2)/(Wxx + Wyy)作為候選角點。
(2)篩選角點
根據閾值篩選角點–> 取得角點的座標 -->根據角點座標得到角點所在的行 --> 在角點周圍,刪除掉其他角點。–> result
(3)標記角點
from PIL import Image import numpy as np import matplotlib.pyplot as plt from scipy.ndimage import filters ## 1.找出角點 ### 1.1 步驟:img求導 --> imx ,imy 濾波-->Wxx ,Wxy,Wyy --> (Wxx*Wyy - Wxy**2)/(Wxx + Wyy) def compute_harris_response(img,sigma=3): # 求梯度 imgx,imgy = np.zeros(img.shape),np.zeros(img.shape) filters.gaussian_filter(img,(sigma,sigma),(0,1),imgx) filters.gaussian_filter(img,(sigma,sigma),(1,0),imgy) # [260,263] # 對梯度進行高斯濾波 wxx = filters.gaussian_filter(imgx**2,sigma) wyy = filters.gaussian_filter(imgy**2,sigma) # [260,263] wxy = filters.gaussian_filter(imgx*imgy,sigma)# [260,263] ## 求行列式和跡 wdet = wxx*wyy -wxy**2 wtr = wxx + wyy return wdet/wtr ## 2 篩選角點 ### 2.1 步驟:根據閾值篩選角點--> 取得角點的座標 -->根據角點座標得到角點所在的行 --> # --> 在角點周圍,刪除掉其他角點 def get_harris_points(harri,min_dist=4,threshold=0.1): corner_thre = harri.max()*threshold # 角點閾值 mask = (harri > corner_thre)*1 # 取出大於閾值的點為候選角點 cords = np.array(mask.nonzero()).T # 取候選角點的座標 values = [harri[i[0],i[1]] for i in cords] # 候選角點的值 cls = np.argsort(values) # 對角點排序得到排序後的序列號,序列號也是候選角點所在的行 loc = np.zeros(harri.shape) # 劃出可行性區域 loc[min_dist:-min_dist,min_dist:-min_dist] = 1 re_cords = [] for i in cls: # 篩選角點。先取出角點,角點周圍的點不再取出 if loc[cords[i,0],cords[i,1]] == 1 : re_cords.append(cords[i]) loc[cords[i,0]-min_dist:cords[i,0]+min_dist,cords[i,1]-min_dist:cords[i,1]+min_dist]=0 return re_cords def plot_harri(img,cords): plt.figure() plt.gray() plt.imshow(img) plt.plot([i[1] for i in cords],[i[0] for i in cords],'.') plt.axis('off') plt.show() ## 3 測試 if __name__ == '__main__': img = np.array(Image.open('luna.png').convert('L')) harri = compute_harris_response(img) re_cords = get_harris_points(harri) plot_harri(img,re_cords)
到此這篇關於OpenCV角點檢測的文章就介紹到這了,更多相關OpenCV角點檢測內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45