国产成人AV无码一二三区,少女1到100集,国产精品久久久久精品综合紧,巜公妇之诱感肉欲HD在线播放

文章 > Python基础教程 > python中Harris角点检测

python中Harris角点检测

Python Harris

头像

小妮浅浅

2021-08-28 09:21:543978浏览 · 0收藏 · 0评论

基本思想

1、选择在图像上任意方向的固定窗口进行滑动,如果灰度变化较大,则认为该窗口内部存在角点。

2、步骤,读图并将其转换为灰度图。估计响应函数。根据响应值选择角度。画出原始图上的检测角点。

实例

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()
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)

以上就是python中Harris角点检测的方法,希望对大家有所帮助。更多Python学习指路:python基础教程

本文教程操作环境:windows7系统、Python 3.9.1,DELL G3电脑。

关注

关注公众号,随时随地在线学习

本教程部分素材来源于网络,版权问题联系站长!

东北老阿姨高清免费观看电视剧| CSGO网站开箱推荐| 电视剧在线观看免费| 《父承子液》金银花原文主角| 女子赤身跳舞视频大全| CSGO暴躁妹妹免费观看电视剧| 三个老头捆着躁我一个| 公憩止痒小说原著叫什么名字 | 《酒店激战》动漫1-5集免费观..| 《后宫狂热》动漫全集完整| 在线观看国产三级视频| 精品欧美无人区乱码毛片| 日剧韩剧在线观看免费全集| 黑人与女人猛交XxXX| 新婚夜被强伦无删减版| 日本M码和欧洲码的区别AS.| 百度CREATE2025| 一家乱战1-13集大| CSGO暴躁妹妹免费观看电视剧 | YY影院免费观看电视剧网站 | 小雪被老汉玩得嗷嗷叫| 0.人犬兽人在线观看免费完整| 《警花交换做爰》| 妈妈的职业4免费观看完整版高清| 私处按摩SPA养生精油| 双男主MV大片| 国产精品免费人成网站酒店店 | 涂了春药的奶头被众人抡H漫画| 同学的母亲中字ID| 爱爱小说| CSGO未满十八岁能玩多久 | 皇上被群臣扒开腿狂C | 《妈妈让我戴上避孕套》歌词 | 高压监狱| 俩个人做AJ的视频教程大全| 妻子的秘密主题曲| 扌击辶鬲的小说父女| 《老板娘2》完整版| 母与子免费观看大全电视剧| 女朋友太骚了每次进去都觉得很 | 苹果13参数