zoukankan      html  css  js  c++  java
  • 角点检测


    泰勒展开后得

    (式子中w没有写)

    将二次型标准化后的可得
    c(x, y, △x,△y) = λ1x^2 + λ2y^2
    根据λ1 和 λ2的大小判断是否是角点

    opencv中都封装到了cv2.cornerHarris(img, blockSize, ksize, k)
    img:图像,float32类型,可使用np.float32()转换
    blockSize:角点检测中指定区域的大小
    ksize:sobel检测中使用的窗口大小,一般为3 (Ix和Iy就是水平和垂直的梯度)
    k:取值参数为[0.04, 0.06]
    import numpy as np

    import cv2

    def show(img):
    cv2.imshow('name', img)
    cv2.waitKey(0)
    cv2.destroyAllWindow()

    img = cv2.imread('D:/C5AM383_Intensity.jpg')
    img = cv2.resize(img, (600, 300))
    img_gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
    img_gray = np.float32(img_gray)

    corner = cv2.cornerHarris(img_gray, 2, 3, 0.04)
    print(corner)

    img[corner > 0.01 * corner.max()] = (0, 0, 255)

    show(img)

    自己选择的路,跪着也要走完。朋友们,虽然这个世界日益浮躁起来,只要能够为了当时纯粹的梦想和感动坚持努力下去,不管其它人怎么样,我们也能够保持自己的本色走下去。
  • 相关阅读:
    Codeforces 220C
    Codeforces 697D
    HDU 4417
    Codeforces 396C
    Codeforces 246C
    HDU 6333
    HDU 3389
    总结:树上启发式合并
    HDU 6319
    Codeforces 1009G
  • 原文地址:https://www.cnblogs.com/WTSRUVF/p/15291274.html
Copyright © 2011-2022 走看看