模糊颜色和纹理直方图(Fuzzy Color and Texture Histogram,FCTH)

本文节选自论文《基于半监督和主动学习相结合的图像的检索研究》

FCTH 特征可从 3 个模糊单元的组合求得结果。先将图像划分成若干分块,在第一个模糊单元中以 HSV 颜色空间的三个信道为输入,经模糊系统最终产生 10-bin 的直方图。在第二个模糊单元修改每个颜色的色调后,经模糊系统最终产生 24-bin 的直方图。以上两个模糊单元在颜色描述子的章节中已详细作了解释,且模糊颜色描述子与 CEDD中所提的颜色描述子是同一个概念,在此不再累述。在第三个模糊单元中,将图像分块经 Harr 小波变换成一组纹理元素,模糊系统以这些纹理元素集为输入将 24-bin 直方图转换成
192-bin 的直方图。最后是描述 FCTH 特征提取的实现。

2.1.3.2.1. 模糊纹理分割

模糊系统如图 2-8 所示,展示了模糊纹理直方图的求解过程,图像分块经 Harr 小波变换得到三个纹理元素fLH,fHL和fHH。这三个纹理元素作为模糊系统的输入,可得到 8-bin 直方图,8bins 对应的区域分别是:(0)低能量线性区,(1)低能量水平激活区,(2)低能量垂直激活区,(3)低能量水平和垂直激活区,(4)高能量线性区,(5)高能量水平激活区,(6)高能量垂直激活区,(7)高能量水平和垂直激活区。

事实证明fLH,fHL和fHH等纹理元素能有效辨别图像的纹理。

2.1.3.2.2. FCTH 的实现

首先定义与提取颜色信息相关的单元为颜色单元,与提取纹理信息相关的单元为纹理单元,如图 2-9 所示,纹理单元所在的模糊系统产生了 8 个区间,颜色单元所在的模糊系统产生了 24 个独立区间,这样最终的直方图将产生 8*24=192bin 区域。为了塑造这个直方图,衡量图像的细节与计算要求,先将图像分割成 1600 个分块。如果定义纹理单元的bin为N并且颜色单元的bin为M,那么该图像分块的直方图位置将为:N*24+M。

整个 FCTH 的实现模型如图 2-9 所示,分为纹理单元模块与颜色单元模块。

a) 在纹理单元模块中,每个图像分块经 Harr 小波变换得到三个纹理元素fLH,fHL和fHH的值,经模糊关联系统分类可将该图像分块归类于 8-bin 直方图中的一种。假设该图像分块被归类到第二 bin 中,则它对应的纹理应为低能量水平激活区。

b) 在颜色单元模块中,每个图像分块被转化到 HSV 颜色空间。信道色调 H,饱和度 S,亮度V组成模糊系统的输入,得到输出为10-bin的直方图。假设输出结果为第4bin,对应的颜色为红色。第二个模糊系统(24-bin 模糊关联)将原先的每个色调再次分割成 3 色调,改变亮度 V 为两个模糊区间,得出输出为 24-bin 直方图。再假设输出结果为第 4bin,此时对应的颜色却为深红色。合并这三个模糊系统最终可将该图像分块归类为 27bin(1*24+3)。

c) 反复对图像的所有分块执行上(a),(b)两个步骤,得到整张图像的直方图,直方图会归一于{0-1}区间内,而每个直方图可量化为 3 比特。

2.1.3.2.3. FCTH 特征的相似度量

为了计算 FCTH 特征向量的相似性距离我们选择使用 Tanimoto 系数。

图像检索:FCTH(Fuzzy Color and Texture Histogram)算法的更多相关文章

  1. Image Processing and Analysis_8_Edge Detection:Learning to Detect Natural Image Boundaries Using Local Brightness, Color, and Texture Cues ——2004

    此主要讨论图像处理与分析.虽然计算机视觉部分的有些内容比如特 征提取等也可以归结到图像分析中来,但鉴于它们与计算机视觉的紧密联系,以 及它们的出处,没有把它们纳入到图像处理与分析中来.同样,这里面也有 ...

  2. 图像处理------Fuzzy C Means的聚合算法

    Fuzzy C-Means聚合算法在图像分割(segmentation)和图像视觉处理中常常被用到聚合算法之 一本文是完全基于JAVA语言实现Fuzzy C-Means聚合算法,并可以运用到图像处理中 ...

  3. HDU 1556 Color the ball【算法的优化】

    /* 解题思路:每次仅仅求解一開始的第一个数字,让第一个数字加一,最后的一个数字的后面一个数减一.我们能够想想,最后加的时候,就是加上前面一个数出现的次数和自己本身出现的次数. 解题人:lingnic ...

  4. LIRe提供的图像检索算法的速度

    本文翻译了LIRe的作者Mathias Lux发表的论文<LIRe: Lucene Image Retrieval - An Extensible Java CBIR Library>.主 ...

  5. 数字图像处理实验(16):PROJECT 06-03,Color Image Enhancement by Histogram Processing 标签: 图像处理MATLAB 2017

    实验要求: Objective: To know how to implement image enhancement for color images by histogram processing ...

  6. 在 iPad 上试验从用算法生成法线贴图-到法线映射光照效果

    在 iPad 上试验从用算法生成法线贴图-到法线映射光照效果 目录 概述 一般来说, 法线贴图是用高模的法线图, 低模的纹理图, 来生成较好的渲染效果. 而法线图通常是通过图像处理软件来生成的, 这里 ...

  7. 手游性能优化之深入理解Texture Compression

    http://gad.qq.com/article/detail/7154875 一.引子 手游项目开发日常里,经常有美术同学搞不清Photoshop制图软件与Unity3D游戏引擎之间的图片asse ...

  8. Java 笔试面试 算法编程篇 一

    方法 1 /* ********************************************************************************** 1.编写一个程序, ...

  9. 工业级GBDT算法︱微软开源 的LightGBM(R包正在开发....)

    看完一篇介绍文章后,第一个直觉就是这算法已经配得上工业级属性.日前看到微软已经公开了这一算法,而且已经发开python版本,本人觉得等hadoop+Spark这些平台配齐之后,就可以大规模宣传啦~如果 ...

随机推荐

  1. 教你如何在Android 6.0上创建系统悬浮窗

    郭霖大神的文章:http://mp.weixin.qq.com/s?__biz=MzA5MzI3NjE2MA==&mid=2650235949&idx=1&sn=0f7eded ...

  2. 手动创建第一个OC程序

    手动创建第一个OC程序 创建一个文件夹,文件夹内创建一个a.m的OC源文件,并编辑 之前说过,OC是完全兼容C语言的,那么我们先写个下面的程序尝试一下 #include<stdio.h> ...

  3. Android Studio精彩案例(三)《模仿微信ViewPage+Fragment实现方式二》

    转载本专栏文章,请注明出处,尊重原创 .文章博客地址:道龙的博客 写在前面的话:此专栏是博主在工作之余所写,每一篇文章尽可能写的思路清晰一些,属于博主的"精华"部分,不同于以往专栏 ...

  4. 浅析"Sublabel-Accurate Relaxation of Nonconvex Energies" CVPR 2016 Best Paper Honorable Mention

    今天作了一个paper reading,感觉论文不错,马克一下~ CVPR 2016 Best Paper Honorable Mention "Sublabel-Accurate Rela ...

  5. android 调试工具ADB命令详解

    adb是什么? adb的全称为Android Debug Bridge,就是起到调试桥的作用. 通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具. ...

  6. 1QPushButton的使用,QLineEdit的使用,设置组件位置,布局(QHBoxLayout,QGridLayout)

     1.新建一个空Qt项目 2 新建一个新的文件(右击项目à添加新文件) 3 配置pro文件属性 SOURCES += \ main.cpp QT += widgets gui 4 编写main.c ...

  7. Ubuntu 16.04 安装和使用QQ最简洁的方式

    推荐参考网址: 1  http://www.ubuntukylin.com/ 2  http://www.ubuntukylin.com/application/ Wine QQ 1  http:// ...

  8. 线程在Linux中的实现

          早在以前,我们就知道,CPU调度的基本单位是线程,而进程是拥有资源的基本单位,进程是用进程描述符表示的,那么线程是怎么实现和表示的呢?       线程机制是现代编程技术中常用的一种抽象概 ...

  9. Tomcat集群如何同步会话

    Tocmat集群中最重要的交换信息就是会话消息,对某个tomcat实例某会话做的更改要同步到集群其他tomcat实例的该会话对象,这样才能保证集群所有实例的会话数据一致.在tribes组件的基础上完成 ...

  10. Android的自动完成文本框-android学习之旅(二十六)

    AutoComplicatedTextView简介 AutoComplicatedTextView是从EditText派生出来的,可以使用EditText的所有的属性.当用户输入一定的内容后,会有提示 ...