我正在使用 Matlab 模糊工具箱在 HSV 颜色空间中进行彩色图像分割。目标是读取 RGB 图像-> 转换为 hsv-> 使用 H、S、V 值作为模糊系统的输入,然后找到该像素属于哪个类(这是我们的 16 种常量输出颜色)。这是模糊系统:
“推理过程基于零阶 Takagi-Sugeno 模型,因此每个模糊规则的结果部分是集合 {Black, White, Red, Orange,etc} 的清晰离散值。由于该模型有 10 Hue 模糊集,Saturation 5 个,Value 4 个模糊集,此模型所需的规则总数为 10*5*4=200"。(1)
问题是当我在我的程序中使用这一行来获取输出值时
segimg=reshape(evalfis([h s v],hsvRuleSugeno),imgh,imgw);
输出不是我的任何常量类,因为它使用质心进行去模糊化,正如你在下面看到的,我不能依赖它作为输出!
我搜索了很多论文和网站,但我认为它是如此简单,以至于没有人解释它!我遗漏了一些东西,或者我可能没有足够的知识,你能帮我理解这个问题吗?
参考: (1): Human Perception-based Color Segmentation Using Fuzzy Logic, Lior Shamir Department of Computer Science, Michigan Tech。