【发布时间】:2018-03-19 10:01:12
【问题描述】:
图像中的每个像素都有一个类似于 [r g b] 的 rgb 值,其中 r,g,b 是从 0 到 255 的整数值。
现在,让我们定义 8 个 rgb 颜色极值:
[0 0 0] 黑色
[0 0 255] 蓝色
[0 255 0] 绿色
[0 255 255] 青色
[255 0 0] 红色
[255 0 255] 洋红色
[255 255 0] 黄色
[255 255 255] 白色。
Matlab中是否有一种有效的方法或Matlab中的函数可以将图像转换为具有这8种极端颜色的另一个图像,具有阈值?
【问题讨论】:
-
您能告诉一个转换规则吗?即我有 [120, 80, 200] 像素,它应该映射到哪个极端?
-
@Gryphon 应该做简单的减法 - 将选择差异最小的那个
-
你试过rgb2ind吗?
-
@Gryphon,它取决于阈值,如果 r_threshold = g_threshold = b_threshold = 128,那么它将是 [0 0 255]
-
为什么不在问题里写呢? rgb2ind 或 LUT 都可以,但您应该自己准备地图或表格以供查找