OpenCV和图像处理(六)

本文以下OpenCV都简写成"cv2"的形式,所有img都默认为一张图片
关联文章:
OpenCV和图像处理(一)

OpenCV和图像处理(二)

OpenCV和图像处理(三)

OpenCV和图像处理(四)

OpenCV和图像处理(五)

十、特征提取和特征匹配

首先了解一个概念:角点。抽象的说,角点就是极值点,即在某方面属性特别突出的点。在图像特征提取中,角点可以是两条线的交叉处,也可以是位于相邻的两个主要方向不同的事物上的点。

1、特征提取

特征提取指的是使用计算机提取图像信息,决定每个图像的点是否属于一个图像特征。特征提取的结果是把图像上的点分为不同的子集,这些子集往往属于孤立的点、连续的曲线或者连续的区域。特征的好坏对泛化性能有至关重要的影响。

1-1:Harris角点检测

该算法基本思想是使用一个固定窗口在图像上进行任意方向上的滑动,比较滑动前与滑动后两种情况,窗口中的像素灰度变化程度,如果存在任意方向上的滑动,都有着较大灰度变化,那么我们可以认为该窗口中存在角点。具体推导我就不写了,但是结论公式我还是有必要摆一下:
R = d e t ( M ) − k ( t r a c e ( M ) ) 2 , R 越 大 越 有 可 能 是 角 点 R=det(M)-k(trace(M))^2,R越大越有可能是角点 R=det(M)k(trace(M))2,R
代码如下:

img = cv2.imread("1.jpg")
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
gray = np.float32(gray) # 拿到图,转成灰度图,再将int变成float32的类型
dst = cv2.cornerHarris(gray, 2, 3, 0.04)
  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值