【问题标题】:Java: how to detect colorclusters in an imageJava:如何检测图像中的颜色簇
【发布时间】:2016-11-30 16:57:09
【问题描述】:

我期待用 Java 编写一个方法,该方法可以检测并将“colorclusters”存储在单独的文件中。

例如:一个颜色簇可以是一个绿色矩形或图片的任何其他部分,其中包含范围内非常相似的像素颜色:

不幸的是,我已经尝试了上千种方法来解决这个问题,但到目前为止都没有奏效。有谁知道是否已经有这样的方法或如何解决这个问题?

【问题讨论】:

  • '我已经尝试了一千种方法'。向我们展示(至少)你的一次失败尝试。
  • '图片的任何其他部分包含范围内非常相似的像素颜色'。请定义“部分”、“包含”、“非常相似”、“在范围内”。
  • 不确定您到底想要达到什么目的。但是看看this 是否有帮助。

标签: java


【解决方案1】:

研究“图形内核”的概念

基本上它是一个表示像素及其邻居的可重定位数组,再加上一个算法来确定像素的一些有趣的质量。

根据每个像素评估内核以给出一个值。内核的伪代码示例可能是。

value = sum of color_distance_between pixel and all neighbors

如果该值为零,则该像素应与其相邻像素完全相同。如果该值不为零,则它具有不同的邻居。请注意所有颜色距离都是正数,否则您的颜色差异可能会相互抵消。

然后你的程序运行每个像素,确定它是否与它的邻居相似。没有颜色距离的大像素区域将被分组,该组中的任何像素都具有大致相同的颜色。

【讨论】:

  • 谢谢,我会尝试一下。 ^^
猜你喜欢
  • 2011-10-12
  • 2013-07-04
  • 2021-08-17
  • 2018-07-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-12
  • 1970-01-01
相关资源
最近更新 更多