熟练掌握CV中最基础的概念:图像特征,看这篇万字的长文就够了(一)

简介: 熟练掌握CV中最基础的概念:图像特征,看这篇万字的长文就够了(一)

图像特征

什么是图像特征?

| 特征

·对图像进行描述。

·指出图像中的相关信息。            

·将一组图像与其他图像区分开来。

| 类别

·全局特征:将图像视为一个整体。

·局部特征:图像中的部分区域。

| 正式定义

在计算机视觉和图像处理中,特征指的是为解决与某一应用有关的计算任务的一段信息。

·所有的机器学习和深度学习算法都依赖于特征。

 

什么能作为特征?

·单独的像素点强度不能作为特征

| 特征

·总体强度测量平均值,直方图,调色板等。

·边缘和山脊梯度和轮廓。

·特殊的角点特征和曲率。

·斑点和纹理。

·使用过滤器获得的特征。

 

例子

1,        像素点强度

image.png

像素点强度组合作为特征

2,        边缘

image.png


边缘作为特征

3,        关键点

image.png

关键点作为特征


什么是好的特征?

那些受外部因素影响不大的特征是好的特征。

| 特征不变性

·伸缩

·旋转

·转换

·透视法

·仿射

·颜色

·照度

 

角点特征

·角:定义为两条边的交点。·关键点:图像中具有明确位置且可以可靠检测的点。

| 适用范围

·运动检测和视频跟踪。·图像注册。·图像拼接和全景拼接。·3D建模和对象识别。

 

例子

1,        关键点

image.png

 关键点识别

2,        

image.png


角识别


Harris角点检测

| Harris角点检测算法可以分为5个步骤

·转化为灰度图

·计算空间导数

·设置结构向量

·计算Harris响应

·抑制非最大值

| 使用OpenCV实现Harris角点检测


''''' Harris Corners using OpenCV ''' %matplotlib inline  import numpy as np  import cv2  from matplotlib import pyplot as plt  img = cv2.imread("imgs/chapter9/chess_slant.jpg", 1)   #img = cv2.resize(img, (96, 96))  gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)  gray = np.float32(gray)   ################################FOCUS###############################  dst = cv2.cornerHarris(gray,2,3,0.04)  ####################################################################   # Self-study: Parameters  plt.figure(figsize=(8, 8))  plt.imshow(dst, cmap="gray")  plt.show()

image.png

'''''  result is dilated for marking the corners '''  dst = cv2.dilate(dst,None)  plt.figure(figsize=(8, 8))  plt.imshow(dst, cmap="gray")  plt.show()


image.png

''''' Threshold for an optimal value, it may vary depending on the image.  We first calculate what is the maximum and minimum value of pixel in this image  '''   max_val = np.uint8(dst).max()  min_val = np.uint8(dst).min()  print("max_val = {}".format(max_val))  print("min_val = {}".format(min_val))

输出


max_val = 255  min_val = 0  img = cv2.imread("imgs/chapter9/chess_slant.jpg", 1)  img[dst>0.1*dst.max()]=[0,0,255]  plt.figure(figsize=(8, 8))  plt.imshow(img[:,:,::-1])  plt.show()

image.png

|利用OpenCV-harris角点求角点坐标

%matplotlib inline  import numpy as np  import cv2  from matplotlib import pyplot as plt   img = cv2.imread("imgs/chapter9/chess_slant.jpg", 1);  #img = cv2.resize(img, (96, 96))  gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)   # find Harris corners  gray = np.float32(gray)  dst = cv2.cornerHarris(gray,2,3,0.04)  dst = cv2.dilate(dst,None)  ret, dst = cv2.threshold(dst,0.01*dst.max(),255,0)  dst = np.uint8(dst)  # find centroids  ret, labels, stats, centroids = cv2.connectedComponentsWithStats(dst)  # define the criteria to stop and refine the corners  # Explain Criteria  criteria = (cv2.TERM_CRITERIA_EPS + cv2.TERM_CRITERIA_MAX_ITER, 100, 0.001)  corners = cv2.cornerSubPix(gray,np.float32(centroids),(5,5),(-1,-1),criteria)  # Now draw them  res = np.hstack((centroids,corners))  res = np.int0(res)  for x1, y1, x2, y2 in res:      #cv2.circle(img,(x1, y1), 5, (0,255,0), -1) # Point Centroids     cv2.circle(img,(x2, y2), 10, (0,0,255), -1) # Point corners  #img[res[:,1],res[:,0]]=[0,0,255]  #img[res[:,3],res[:,2]] = [0,255,0]  plt.figure(figsize=(8, 8))  plt.imshow(img[:,:,::-1])  plt.show()

image.png

目录
相关文章
|
5月前
|
算法
计算机算法设计与分析(1-6章 复习笔记)
计算机算法设计与分析(1-6章 复习笔记)
|
算法 C++ 容器
(万字,细细阅读)竞赛算法入门必经算法模型(附带题目链接和模板)(上)
(万字,细细阅读)竞赛算法入门必经算法模型(附带题目链接和模板)(上)
50 0
|
存储 算法 决策智能
(万字,细细阅读)竞赛算法入门必经算法模型(附带题目链接和模板)(下)
(万字,细细阅读)竞赛算法入门必经算法模型(附带题目链接和模板)(下)
82 0
|
6月前
|
机器学习/深度学习 算法 固态存储
【目标检测】入门基础原理学一遍就够了吧
【目标检测】入门基础原理学一遍就够了吧
|
机器学习/深度学习 人工智能 算法
这篇科普让你Get所有大模型的基础核心知识点
本文介绍了AI大模型的概念和发展历程。AI大模型是指具有1亿以上参数的机器学习模型,通过在大规模数据集上进行预训练,可以直接支撑各类应用。大模型的发展经历了从萌芽期到AI1.0时期,再到AI2.0时期的飞跃,目前最新发布的大模型参数已经达到了千亿甚至万亿级别。国内外的公司都在积极研发和应用大模型,如OpenAI、Google、Facebook、Microsoft等。国内也有百度、阿里巴巴、万维、商汤科技等公司发布了自己的大模型产品。大模型的建造离不开算力资源、算法人才、数据积累等核心要素。此外,文章还列举了一些与大模型相关的专业名词,如算法、模型参数、训练数据、Token等。
|
机器学习/深度学习 固态存储 算法
【项目实践】从零开始学习SSD目标检测算法训练自己的数据集(附注释项目代码)(一)
【项目实践】从零开始学习SSD目标检测算法训练自己的数据集(附注释项目代码)(一)
534 0
|
编解码 固态存储 算法
【项目实践】从零开始学习SSD目标检测算法训练自己的数据集(附注释项目代码)(二)
【项目实践】从零开始学习SSD目标检测算法训练自己的数据集(附注释项目代码)(二)
312 0
|
算法 计算机视觉
熟练掌握CV中最基础的概念:图像特征,看这篇万字的长文就够了(三)
熟练掌握CV中最基础的概念:图像特征,看这篇万字的长文就够了(三)
258 0
熟练掌握CV中最基础的概念:图像特征,看这篇万字的长文就够了(三)
|
存储 编解码 算法
熟练掌握CV中最基础的概念:图像特征,看这篇万字的长文就够了(二)
熟练掌握CV中最基础的概念:图像特征,看这篇万字的长文就够了(二)
264 0
熟练掌握CV中最基础的概念:图像特征,看这篇万字的长文就够了(二)
|
编解码 算法 前端开发
写论文看这一篇就够了
写论文看这一篇就够了
写论文看这一篇就够了