最后
不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~
给大家准备的学习资料包括但不限于:
Python 环境、pycharm编辑器/永久激活/翻译插件
python 零基础视频教程
Python 界面开发实战教程
Python 爬虫实战教程
Python 数据分析实战教程
python 游戏开发实战教程
Python 电子书100本
Python 学习路线规划
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
也是一个很搞笑的片段…
/ 01 / 特征检测算法
这里简单介绍一下OpenCV常用的几种特征检测和提取算法。
Harris、FAST:用于检测角点的。
SIFT、SURF、BRIEF:用于检测斑点的。
ORB:FAST算法和BRIEF算法的结合体。
检测和提取的工作做完了,就是特征匹配。
主要是「暴力匹配法」和「FLANN匹配法」。
提了好几次特征了,那么什么是图像的特征呢?
图像特征就是指有意义的图像区域,具有独特性或易于识别性,比如角点、斑点以及高密度区。
角点可以通过OpenCV的cornerHarris来识别。
「SIFT」则是一种与图像比例无关的角点检测方法,尺度不变特征变换。
采用DoG和SIFT来检测关键点并提取关键点周围的特征。
「SURF」特征检测算法,则是采用Hessian算法检测关键点,使用SURF提取特征。
剩下的太难了,以后慢慢了解~
/ 02 / 图像检索
N匹配,近似最近邻的快速库。
原始图片如下,为微博的Logo。
目标图片如下,包含新浪微博的名称。
代码如下。
import cv2
good = []
# 原始图片
queryImage = cv2.imread(‘wb1.jpg’, 0)
# 目标图片
trainingImage = cv2.imread(‘wb2.jpg’, 0)
# 创建SIFT对象(特征检测器),并计算灰度图像(描述符)
sift = cv2.xfeatures2d.SIFT_create()
kp1, des1 = sift.detectAndCompute(queryImage, None)
kp2, des2 = sift.detectAndCompute(trainingImage, None)
# 设置FLANN匹配器参数
FLANN_INDEX_KDTREE = 0
indexParams = dict(algorithm=FLANN_INDEX_KDTREE, trees=5)
searchParams = dict(checks=50)
# FLANN匹配器
flann = cv2.FlannBasedMatcher(indexParams, searchParams)
# K-最近邻匹配
matches = flann.knnMatch(des1, des2, k=2)
# 绘制一个空白图片
matchesMask = [[0, 0] for i in range(len(matches))]
# 绘制图像
for i, (m, n) in enumerate(matches):
if m.distance < 0.7*n.distance:
matchesMask[i] = [1, 0]
good.append(m)
# 图像参数
drawParams = dict(matchColor=(0, 255, 0),
singlePointColor=(255, 0, 0),
matchesMask=matchesMask,
flags=0)
# 最终结果
resultImage = cv2.drawMatchesKnn(queryImage, kp1, trainingImage, kp2, matches, None, **drawParams)
# 检测是否匹配
if len(good) > 10:
print(‘It is a match!’)
# 设置显示窗口
cv2.namedWindow(‘img’, 0)
cv2.resizeWindow(‘img’, 840, 480)
cv2.imshow(‘img’, resultImage)
while True:
if cv2.waitKey(0) & 0xff == ord(‘q’):
break
cv2.destroyAllWindows()
最后
🍅 硬核资料:关注即可领取PPT模板、简历模板、行业经典书籍PDF。
🍅 技术互助:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。
🍅 面试题库:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。
🍅 知识体系:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!