for(int yy=0; yy<height/2; yy++)
{
SDL_Color kolor = getPixel(xx,yy); //we are gettig each pixel in img;
setPixel(xx+width/2,yy+height/2,kolor.r,kolor.g,kolor.b );
//setPixel(xx,yy+height/2,kolor.r,kolor.g,kolor.b);
//setPixel(xx+width/2,yy,kolor.r,kolor.g,kolor.b);
}
}
我正在尝试使用循环在 img 中找到 16 种最常见的颜色并获取其 RGB。
我一直在使用映射并尝试对结构做一些事情,但一切都可用。
如果您对如何找到这些颜色有一些想法,我将不胜感激。谢谢
如果你有一个4x4 img,那就很简单了。同样简化,直方图功能每个RGB级别(0-255x3),期望每个"流行"颜色都在那里。将混乱分类到用于每个人的前 16 个中,再次期望这些是正确的。除非你有狂野的颜色回旋,否则没有别的。第二次检查,看看流行颜色是否真的存在。最后,您可能希望分组到"足够接近"的类别中,jpeg 有损于错误,4 个 RGB 变体中的任何内容都组合在一起,将 0-256 个值减少到 0-64,除非颜色波动很大。如果你使用过绘画程序魔杖,你知道tolerance=0会犯超级错误,同样的想法。中值滤波器。它肯定会通过合并成平均凌乱的颜色来减少颜色计数,对 3x3、4x4、圆形加权样本区域进行采样。
如果所有其他方法都失败了,请窃取 256 颜色安全的 Web 调色板,然后从那里开始工作。
SWAG-科学野屁股猜法,祝你好运。