如何动态使用switch case语句?

时间:2018-02-08 11:28:22

标签: c++ vector hash set

我使用hashmap将RGB颜色映射到其唯一的灰度值。颜色数量可以根据输入而改变。因此,如果输入有5种不同的颜色,我的输出将是0表示第1种颜色,1表示第2种颜色,依此类推。

我使用set进行独特的颜色识别,但每次使用for循环都非常昂贵。所以我正在寻找某种切换案例解决方案,它动态地采用唯一值并映射它而不是循环。 这是snippit:

步骤1:读取这样的示例图像 enter image description here

第2步:识别唯一的颜色(我使用了std :: set方法)。现在我设置了4个值(如:红色:255000000,绿色:000255000)等。使用我使用的HashMaps创建集合的示例代码。

echo substr_replace(1234567, " ", 3, 0); // 123 4567

步骤3:现在我想为单独的颜色提供一个独特的标签,如(红色= 3,绿色= 2等),用于单独的图像,默认为0到其他颜色。即Sample Image

步骤4.对于上一步,一种方法是创建一个数组/向量并分配与该颜色对应的唯一标签。这种方法的问题在于,对于每个像素,我必须查看整个数组/向量,因此操作非常昂贵。所以我正在寻找一个更快的解决方案。由于内存限制,我无法使用HashTable。 第5步:我不知道开关盒的速度是否会更快但是它会比搜索阵列更快。

所以任何更快的解决方案都会对我有所帮助。谢谢希望现在这个问题很明确。

0 个答案:

没有答案