『python』计算机视觉_OpenCV3角点特征Harris提取方法

因为当下的计划是熟悉语言和库,而图像特征提取脱离理论就很没意思了,并且很可能事倍功半,所以计算机视觉特征提取这部分跳过,直接开始和深度学习结合较为紧密的目标检测&识别部分。

本节介绍了OpenCV3中提取图像角点特征的函数:

 1 # coding=utf-8
 2 import cv2
 3 import numpy as np
 4
 5
 6 ‘‘‘Harris算法角点特征提取‘‘‘
 7
 8 img = cv2.imread(‘chess_board.png‘)
 9 gray = cv2.cvtColor(img,cv2.COLOR_BGR2GRAY)
10 gray = np.float32(gray)
11
12 # {标记点大小,敏感度(3~31,越小越敏感)}
13 # OpenCV函数cv2.cornerHarris() 有四个参数 其作用分别为 :
14 #img - Input image, it should be grayscale and float32 type.
15 #blockSize - It is the size of neighbourhood considered for corner detection
16 #ksize - Aperture parameter of Sobel derivative used.
17 #k - Harris detector free parameter in the equation,在0.04 到0.05之间
18 dst = cv2.cornerHarris(gray,2,23,0.04)
19 img[dst>0.01 * dst.max()] = [0,0,255]
20
21 cv2.imshow(‘corners‘,img)
22 cv2.waitKey()
23 cv2.destroyAllWindows()

dst = cv2.cornerHarris(gray,2,23,0.04)中第3个参数(23)调整对结果影响如下:

取值为3时:

取值为23时:

时间: 2024-09-30 21:57:54

『python』计算机视觉_OpenCV3角点特征Harris提取方法的相关文章

『python』计算机视觉_OpenCV3库安装

Anaconda打包安装: conda install --channel https://conda.anaconda.org/menpo opencv3 验证: >>> import cv2 >>> cv2.__version__ '3.2.0' 注意:这种安装方式仅支持python2. Windows下安装方式: Win下python库资源集合 1. 下载所需的版本,注意版本号的对应: opencv_python-3.1.0-cp35-cp35m-win_amd6

『python』计算机视觉_OpenCV3目标检测器(待续)

bulid-in目标检测器 调用内部函数进行人体检测,实际效果并不好.民工三连: hog = cv2.HOGDescriptor() # 启动检测器对象 hog.setSVMDetector(cv2.HOGDescriptor_getDefaultPeopleDetector()) # 指定检测器类型 found, w = hog.detectMultiScale(img) # 加载&&监测图像 完整程序: import cv2 import numpy as np def is_insi

『python』计算机视觉_经典目标检测算法中的几个概念

图像金字塔 1.在从cv2.resize中,传入参数时先列后行的 2.使用了python中的生成器,调用时使用for i in pyramid即可 3.scaleFactor是缩放因子,需要保证缩放后的图不小于最小尺寸,对应神经网络就是训练尺寸 '''图像金字塔''' def resize(img, scaleFactor): # cv2.resize先接收列后接收行,返回亦然 return cv2.resize(img, (int(img.shape[1] * (1/scaleFactor))

『Python』常用函数实践笔记

库安装: 1).pip & conda 2).在win10下手动安装python库的方法: 『python』计算机视觉_OpenCV3库安装 原生: list.append():添加元素到list末尾 list.extend():使用一个list扩展另一个list 字典列表化:字典是有顺序的,而且list字典等于list字典的key dict = {'c':1,'b':2,'a':3} list(dict) # Out[13]: # ['c', 'b', 'a'] list(dict.keys(

『Python』Numpy学习指南第九章_使用Matplotlib绘图

坐标轴调节以及刻度调节参见:『Python』PIL&plt图像处理_矩阵转化&保存图清晰度调整 数据生成: 1 import numpy as np 2 import matplotlib.pyplot as plt 3 4 func = np.poly1d(np.array([1,2,3,4])) 5 func1 = func.deriv(m=1) # 求一阶导数 6 func2 = func.deriv(m=2) # 求二阶导数 7 8 x = np.linspace(-10,10,3

『Python』内存分析_list和array的内存增长模式

『Python』内存分析_List对象内存占用分析 在Python中,列表是一个动态的指针数组,而array模块所提供的array对象则是保存相同类型的数值的动态数组.由于array直接保存值,因此它所使用的内存比列表少.列表和array都是动态数组,因此往其中添加新元素,而没有空间保存新的元素时,它们会自动重新分配内存块,并将原来的内存中的值复制到新的内存块中.为了减少重新分配内存的次数,通常每次重新分配时,大小都为原来的k倍.k值越大,则重新分配内存的次数越少,但浪费的空间越多.本节通过一系

『Python』内存分析_List对象内存占用分析

『Python』内存分析_下_list和array的内存增长模式 list声明后结构大体分为3部分,变量名称--list对象(结构性数据+指针数组)--list内容,其中id表示的是list对象的位置, v引用变量名称,v[:]引用list对象,此规则对python其他序列结构也成立,以下示范可用id佐证, a=b时,a和b指向同一个list对象 a=b[:]时,a的list对象和b的list对象指向同一个list内容 Q1:元素存储地址是否连续 首先见得的测试一下list对象存储的内容(结构3

『cs231n』计算机视觉基础

线性分类器损失函数明细: 『cs231n』线性分类器损失函数 最优化Optimiz部分代码: 1.差劲的方案,随机搜索 bestloss = float('inf') # 无穷大 for num in range(1000): W = np.random.randn(10, 3073) * 0.0001 loss = L(X_train, Y_train, W) if loss < bestloss: bestloss = loss bestW = W scores = bsetW.dot(Xt

『python』OpenCV3计算机视觉库安装

1.下载OpenCV: https://codeload.github.com/Itseez/opencv/zip/3.0.0 2.解压下载相关依赖: sudo apt-get install build-essential sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev sudo apt-get install python-dev pyt