Я работаю в OpenCV под Linux. Я пытаюсь квантовать значения векторов Ib, Ig, Ir, которые имеют длину 100.
for (int i=0;i<img31->height;i++)
{
for (int j=0;j<img31->width;j++)
{
Ib.push_back(((uchar*)(img31->imageData+((img31->width*3)*i)))[j*3]);
Ig.push_back(((uchar*)(img31->imageData+((img31->width*3)*i)))[j*3+1]);
Ir.push_back(((uchar*)(img31->imageData+((img31->width*3)*i)))[j*3+2]);
}
}
int g_hist11[16]={0},b_hist11[16]={0},r_hist11[16]={0};
//Quantization code
for (int i=0;i<Ig.size();i++)
{
int j=0;
while(j<256)
{
if (Ib.at(i)>j && Ib.at(i)<j+16)
{
b_hist11[(Ib.at(i)%16)]=b_hist11[(Ib.at(i)%16)]+1;
}
if (Ig.at(i)>j && Ig.at(i)<j+16)
{
g_hist11[(Ig.at(i)%16)]=g_hist11[(Ig.at(i)%16)]+1;
}
if (Ir.at(i)>j && Ir.at(i)<j+16)
{
r_hist11[(Ir.at(i)%16)]=r_hist11[(Ir.at(i)%16)]+1;
}
j=j+16;
}
}
Но когда я пытаюсь добавить счетчики, хранящиеся в массивах g_hist11, r_hist11, b_hist11, они не получаются равными 100.