基于Python与OpenCV的图像特征匹配学习笔记,供大家参考
特征中最重要的是角点,主要包括:
1.灰度梯度的最大值对应的像素
2.两条线的交点
3.极值点(一阶导最大值,二阶导等于0)
光滑地区,无论向哪里移动,衡量系数不变;
边缘地区,垂直边缘移动,衡量系数变化剧烈;
在交点处,无论往哪个方向移动,衡量系统都变化剧烈。
cornerHarris(img,blockSize,ksize,k)
img:输入图片
blockSize:窗口大小,窗口越大,敏感度越高
ksize:Solel卷积核
k:权重系数,经验值,一般0.02-0.04之间
import cv2blockSize = 2
ksize = 3
k = 0.04img = cv2.imread('map1.png')
# 灰度化
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
# Harris角点检测
dst = Harris(gray, blockSize, ksize, k)
# 检测结果展示,红色
img[dst > 0.01 *dst.max()] = [0,0,255]cv2.imshow('harris', img)
cv2.waitKey(0)
Shi-Tomasi是Harris角点检测的改进,不需要设置K值
Harris角点检测的稳定性与K值有关,而K是经验值,不好设定最佳值
goodFeaturesToTrack(img,maxCorners,...)
img:输入图片
maxCorners:角点的最大数,值为0表示无限制
qualityLevel:小于1.0的正数,一般在0.01-0.1之间
minDistance:角之间最小欧式距离,忽略小于此距离的点
mask:感兴趣的区域
blockSize:窗口大小,窗口越大,敏感度越高
useHarrisDetector:是否使用Harris算法,默认false
k:默认0.04之间
import cv2
import numpy as npmaxCorners = 1000
ql = 0.01
minDistance = 10img = cv2.imread('map1.png')gray = cv2
本文发布于:2024-02-03 02:56:20,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170690017848190.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |