Hog 特征比较直观好懂,本质是提取图片内的梯度统计信息。

其提取图片特征的层次,可以分为:图片/Block/cell 这三个层次,每个层次有下属层次的多个单位构成,例如图片被分为N个block 具体是采用滑动窗口,每个block又被分为多个cell,其中cell 作为最底层是提取梯度信息的最基本单位。统计cell内所有像素的梯度方向信息并将其划分到预设的梯度方向范围内,便形成了基本的梯度直方图信息。接下来就是一个逆向的组合过程,即,底层cell的梯度信息不断地组合在一起(还有归一化)形成block的特征,block的特征在组合在一起就成了image的feature,这里说的组合值得是拼接的意思。归一化目的是去除光噪声的影响,这个好理解,因为均匀光源对图片的影响是加性的,并不改变相对大小,引起归一化是起一点抗燥作用的。

扯原理太多了,这里主要是说明我使用scikit-image 中 HOG函数的心得。

scikit-image 里面的hog函数是这样的:

ft.hog(image, orientations=orientations, pixels_per_cell=pixels_per_cell, transform_sqrt=is_transform, feature_vector=is_feature_vector,
cells_per_block=cells_per_block, visualise=is_visualise)

其中的参数名称我已写的直观易懂了。问题来了,希望大家注意以下几点:

1 整个函数的参数使用的是类似opencv 的参数格式,即【宽度,高度】而非python numpy 中的[行数,列数], 因此pixels_per_cell= [ 像素宽度,像素高度], cell_per_block= [ 宽度,高度】

2 cell 尺寸和block尺寸问题:

cell尺寸的倍数只能比block小,不能比之大,否则就会越界,返回空列表。
        例如:mg=[11,11], pixel_per_cell=[5,5], cell_per_block= [2,2] 是可以的。将pixel_per_cell设置为 [6,6]其他不变,就是不行。
        想想也奇怪,真是宁可漏掉都不能重叠。

3 函数使用中参数设置错误,不会报错,只会给你返回一个空列表。这点最令人无法忍受,一点都不友好。

scikit-image HOG feature 提取函数使用心得。相关推荐

  1. oracle字符串提取函数,oracle字符串分割和提取函数定义

    oracle字符串分割和提取函数定义 oracle字符串分割和提取 分割 create or replace function Get_StrArrayLength ( av_str varchar2 ...

  2. OEPNCV 轮廓提取函数findContours中所用的算法原理疑问。

    OPENCV 中的轮廓提取函数findContours. 所实现的算法是 来自于 Satoshi Suzuki and others. Topological structural analysis ...

  3. CV之FR:基于DIY人脸图像数据集(每人仅需几张人脸图片训练)利用Hog方法提取特征和改进的kNN算法实现人脸识别并标注姓名(标注文本标签)—(准确度高达100%)

    CV之FR:基于DIY人脸图像数据集(每人仅需几张人脸图片训练)利用Hog方法提取特征和改进的kNN算法实现人脸识别并标注姓名(标注文本标签)-(准确度高达100%) 目录 基于DIY人脸图像数据集( ...

  4. asp.net怎么实现按条件查询_用这个提取函数王中王,制作数据查询表

    当Excel表的数据太多时,需要进行数据的查询与提取,往往要使用查找与引用函数.提取条件简单还好说,一复杂起来,就要使用又长又头疼的嵌套函数,不要说用了,光看懂函数都要死一片脑细胞. 别伤脑筋了,为什 ...

  5. php 二维数组去除一项,PHP二维数组提取函数----把不需要的数据剔除

    首先说明一些这个函数的应用场景,比如说你得到的数据是个二维数组,里面的很多成员其实是不必要的,比如说api调用后不必要给别人返回一些用不到的垃圾数据吧,如下是代码. /* * delMemberGet ...

  6. EXTRACT() 提取函数

    EXTRACT() 函数用于提取日期/时间的单独部分,比如年.月.日.小时.分钟等等. 示例: select created_at,EXTRACT (YEAR FROM created_at) AS ...

  7. R语言——字符串提取函数

    1.substr函数:提取指定位置的字符 根据身份证号计算年龄: # 读入数据 id_number <- readxl::read_excel("D:/身份证.xlsx",s ...

  8. 利用Python提取函数图像数据并拟合曲线

    目录 1. 前言 2. 数据提取 2.1 图像预处理 2.2 提取数据 3. 曲线拟合 4. 优化代码 1. 前言 学校导师要求拟合曲线,但只有函数图像没有数据,图像和公式都不懂就负责把系数算出来. ...

  9. Excel实用教程-字符提取函数(FIND/LEFT/RIGHT/LEN/MID/TEXT)

    一.FIND函数 描述: 所查找的内容的第一个字符所在位置,区分大小写 格式:=FIND(find_text,within_text,start_num) find_text:要查找的文本内容,使用双 ...

最新文章

  1. 工业机器人发展趋势分析 未来营收规模达到百亿级水平
  2. 做项目时用到的linux知识
  3. xshell-6以及xftp-6家庭版,学校版免费下载(百度云盘)
  4. CentOS tcpdump的使用实例
  5. 如何清除word复制过来的文字背景色的好方法?
  6. laravel5.5使用sendCloud邮件服务
  7. jquery设置滚动条距离页面顶部的高度
  8. 防止用户重复提交表单数据,session方式,js方式
  9. HttpMate简介
  10. 查询商品列表报错This application has no explicit mapping for /error, so you are seeing this as a fallback
  11. 热评一箩筐——《******技术宝典》
  12. java 打印数据_Java 中的打印流
  13. 算法学习——K近邻算法
  14. shenyu自定义插件
  15. 克劳士比语录(转载)
  16. 手机微信广告页html代码,微信公众号h5网页被嵌入广告 不知道什么原因
  17. 百度地图海量点尺寸和大小
  18. STM32F103ZET6开发板实现跑马灯实验
  19. UI设计需要学习哪些软件?
  20. STM32中断优先级分组概念

热门文章

  1. 【内卷数据结构】顺序表超详细解析 | 从零开始步步解读 | 画图理解+调试分析 | 菜单制作
  2. PHP是世界上最好语言吗?
  3. 如何管理团队任务?如何跟踪任务进度?2023全新任务交办场景手册(免费领取)
  4. 小程序遵循的语法_2020年遵循的最佳应用程序开发实践
  5. Javascript-API-BOM、动画函数、网页轮播图、节流阀、筋斗云、固定侧边栏返回顶部案例
  6. paper weekly_Android Weekly:Galaxy Fold详细信息,可在17分钟内充电的4000 mAh电池等
  7. 手机群控软件的运行环境台式机/HUB配置分享
  8. JDK8 源码包 外加注释
  9. 飞书开放平台Java-Sdk
  10. Linux IP、DNS、Route配置