Java 对于给定图像上颜色相对相同的天线形成的图像形状,最快的算法是什么?

Java 对于给定图像上颜色相对相同的天线形成的图像形状,最快的算法是什么?,java,c++,algorithm,image,search,Java,C++,Algorithm,Image,Search,给定图像为N*M(R,G,B)像素,如下所示: 算法应该告诉我们如何找到主要的图像颜色,如:红色和白色 具有相对相同颜色的天线意味着我们搜索(R,G,B)(222,12,10),例如给出这样的步骤(40,20,10),以便(199,32,5)将与我们搜索的一样计算: 形状应由连接到像素的连接点(x,y)数组定义,如:

给定图像为N*M(R,G,B)像素,如下所示:

算法应该告诉我们如何找到主要的图像颜色,如:红色和白色

具有相对相同颜色的天线意味着我们搜索(R,G,B)(222,12,10),例如给出这样的步骤(40,20,10),以便(199,32,5)将与我们搜索的一样计算:

形状应由连接到像素的连接点(x,y)数组定义,如:

<伪代码将对我工作,以及任何像java或C++这样的OO语言中的可读代码(在这2个我特别感兴趣的地方)


对于给定图像上颜色相对相同的天线形成的图像形状,哪种算法最快?

查找算法。

只是一个警告。你应该小心措辞:如果你识别了你的图像的三种“主要颜色”,你可能会得到以下(Mahematica代码):


如果搜索主色的步骤不可能(这意味着算法会比lats asume慢很多),那么我们有一系列我们环境中常用的颜色,如[(22222,22),(111,11,11),(222,12,10)和(4,4,4)],因此它们可以作为目标主色。。。糟糕的解决方案,但我现在只看到一个,你应该看看OpenCV,你可能会在那里找到你的算法。另外,你的问题似乎涉及面相当广。也许像vworker这样的招聘网站更适合你。另外,为了得到好的结果,你可能想在基于感知的色彩空间中进行计算。转换为实验室颜色空间。