cedd是一种综合颜色和纹理的特征提取方法。

参考论文:FCTH: FUZZY COLOR AND TEXTURE HISTOGRAM :A LOW LEVEL FEATURE FOR ACCURATE IMAGE RETRIEVAL

网上搜索的关于cedd的介绍很少,看得也很是纠结,还有一些细节方面没有弄很清楚,先写一下以后备用,慢慢细化。

一、CEDD简介

将图像划分成若干预设号码的分块,为了提取其中的颜色信息,在 HSV 颜色空间应用一组模糊规则提取模糊关联直方图。在一个有三个输入口的模糊系统应用 20 条模糊规则产生一个 10-bin 的量化直方图,其中每个 bin 关联一种预设的颜色,而指定给每个 bin 的分块号码可存放一个特征向量。另外在一个有两个输入口的模糊系统应用 4 条模糊规则将 10bin 直方图转变成 24-bin 的直方图,以提高了每种颜色的色调;其次提取边缘的方向性描述子,边缘直方图描述子将图像中的边缘分为 5 种,分别是水平、垂直、45度 、135 度和无特定方向边缘,然后把图像分成若干个小块,分析小块内图像的边缘性质,判断属于哪一种边缘,最后统计图像中所有边缘的信息;最后是描述 CEDD 特征向量的实现。

二、算法流程

(1)输入图像,如果图像过大就进行压缩。

(2)GrabCut进行图像分割,利用opencv中的函数

void grabCut(InputArray image, InputOutputArray mask, Rect rect, InputOutputArray bgdModel, InputOutputArray
fgdModel, int iterCount, int mode)

得到所选区域中的疑似背景和疑似前景,分别从上往下找到疑似背景的top,从下到上找到疑似背景的bottom,从左到右找到疑似背景的left,从右到左找到疑似背景的right。

(3)将图像分块,论文中取1600块,如果小块再上一步所计算的top、bottom、 left 、right的区域内则分别计算模糊颜色直方图和模糊纹理直方图,否则舍掉。

纹理:计算纹理时利用每个像素的RGB值的均值。将每个小块再分为2*2块,分别计算水平、垂直、45度、135度和无特定方向的描述子,论文中取最大的为此小块所属的边缘类型,程序中根据四个阈值判断此小块所属于的边缘类型。

颜色:将图像转换到HSV空间计算,对HSV分别计算模糊属于哪个类别。

如图:

将H分量分为8个区间 ,如下,根据来判断H分量模糊属于哪个区间。

static double tmpHueMembershipValues[] = {0, 0, 5, 10,5, 10, 35, 50,35, 50, 70, 85,70, 85, 150, 165,150, 165, 195, 205,195, 205, 265, 280,265, 280, 315, 330,315, 330, 360, 360}; 

SV分量类似。根据模糊规则(这一点还没看懂)来生成一个10bin的量化直方图。

同样的利用SV两个输入根据模糊规则根据生成的10bin直方图来生成一个24bin的量化直方图。

(4)综合6个纹理区间和14个颜色区间,6*24得到一个144维的模糊混合直方图,得到一个1*144维的特征向量。

CEDD(Color and Edge Directivity Descriptor)学习篇相关推荐

  1. CEDD(Color and Edge Directivity Descriptor)算法

    FROM: http://blog.csdn.net/leixiaohua1020/article/details/16883379 颜色和边缘的方向性描述符(Color and Edge Direc ...

  2. 图像检索:CEDD(Color and Edge Directivity Descriptor)算法

    颜色和边缘的方向性描述符(Color and Edge Directivity Descriptor,CEDD) 本文节选自论文<Android手机上图像分类技术的研究>. CEDD具有抽 ...

  3. LVGL之学习篇(一)

    LVGL之学习篇(一) 学习目的 LVGL简介 LVGL本身是一个图形库,前身是litterVGL.其作者是来自匈牙利的Gabor Kiss-Vamosikisvegabor,LVGL用C语言编写,以 ...

  4. 鸟哥的linux私房菜-基础学习篇 读书笔记

    从事linux工作一年多,算是能够熟练运用linux服务器,但仍觉得自己对Linux的原理,理论缺乏空洞,潜下心来认真阅读尘封的鸟哥经典,知识点很全,收获颇多,实践与知识结合,知行合一,对linux开 ...

  5. Objective-C学习篇03—继承

    Objective-C学习篇03-继承 大纲: 继承的基本概念 自定义初始化方法 便利构造器方法 重写description方法 一 继承基本概念 程序里的对象和"人类"的对象是一 ...

  6. MaterialDesign学习篇(二),Toolbar、DrawerLayout的使用

    什么是Toolbar Toolbar是应用的内容的标准工具栏,可以说是Actionbar的升级版,两者不是独立关系,要使用Toolbar还是得跟ActionBar扯上关系的.相比Actionbar,T ...

  7. 边缘直方图描述符(EHD)Edge Histogram Descriptor

    这里主要讲如何得到一幅图像的边缘直方图 边缘直方图描述符是MPEG-7中的一个纹理描述符,常用与图像检索. 大致过程:图像划分--->计算子图边缘直方图--->归一化--->计算图像 ...

  8. 【微信小程序开发学习篇】

    微信小程序开发学习篇 概述 相关信息 笔记制作时间:2022-9-25 参考视频:黑马视频 参考文档:微信小程序官方开发文档 文章目录 微信小程序开发学习篇 概述 相关信息 小程序基础 1.数据绑定与 ...

  9. 脑电EEG代码开源分享 【6. 分类模型-深度学习篇】

    往期文章 希望了解更多的道友点这里 0. 分享[脑机接口 + 人工智能]的学习之路 1.1 . 脑电EEG代码开源分享 [1.前置准备-静息态篇] 1.2 . 脑电EEG代码开源分享 [1.前置准备- ...

最新文章

  1. 如何为jframe设置于右侧滑轮_如何为电脑设置屏保密码?
  2. FreeRTOS学习笔记4-FreeRTOS配置管理
  3. SVM原理以及Tensorflow 实现SVM分类(附代码讲了一下原理)
  4. n1进入recovery模式_oppo n1怎么进recovery
  5. 题解 luogu P2568 GCD
  6. 【渝粤教育】电大中专职业应用写作_1作业 题库
  7. .net 用户控件ascx.cs注册js脚本代码无效果
  8. mysql 5.7 enum_MYSQL中 ENUM 类型的详细解释
  9. linux的使用 --- 虚拟机创建CentOS(Intel VT-X)
  10. java商城系统设计——秒杀
  11. wps怎么免费导出简历_稻壳儿简历免费手机,手机wps如何免费导出简历?
  12. typora+gitee图床
  13. JavaScript:实现NQueen皇后问题算法(附完整源码)
  14. windows中用注册表删除guest账户
  15. 【软件测试】测试用例相关知识(六大测试用例设计方法)
  16. 谈谈c语言中delay的用法
  17. excel2021 打印圆不圆
  18. python输入第十个斐波那契数列,0,1,1,2,3,5,8,13,21,34
  19. 如何查看MySQL的表空间
  20. 打开应用时出现“你的手机上未安装应用程序”--实际上该应用已经安装的解决方案

热门文章

  1. Python/WSGI 应用快速入门--转
  2. 爬虫提取非结构化数据
  3. solr服务器的查询过程
  4. 机器学习算法加强——回归
  5. 图神经网络学习一(浅谈embedding)
  6. Star: Ubuntu下配置和编译cpp-ethereum客户端启动GPU加速交易
  7. 深度学习开发环境调查结果公布,你的配置是这样吗?(附新环境配置) By 李泽南2017年6月26日 15:57 本周一(6 月 19 日)机器之心发表文章《我的深度学习开发环境详解:Te
  8. 从程序员的角度分析微信小程序
  9. Java8 - 使用CompletableFuture 构建异步应用
  10. 实战SSM_O2O商铺_15【商铺注册】View层+Controller层之图片上传