2016-03-01 46 views
0

我有一张表,用于存储图像中每个像素的R,G,B。按3列变化的组

我想做一个SELECT,将这些结果按照这三个列的变化对边界进行分组。

欲例如,该记录包含: 50,105,65

在这种情况下,变化被定义为5或多或少: 55,100,60 与包含记录分组。

我的目标是在7700分析像素之后返回哪种颜色的重复变化。

回答

1

这取决于您如何定义“边距”。一个非常简单的答案是

GROUP BY r/5, g/5, b/5 

(假设R,G和B是某种形式的整数,而不是浮动或数字)

你可以做一些票友(也许有窗功能),如果需要的话。

之外,我建议创建的复合类型:

CREATE TYPE pixel AS(r smallint, g smallint, b smallint); 

然后,你可以在单排的整个图像存储为像素[]的2D阵列。对于大多数情况,我希望能更容易一些。它应该表现得更好。