Witam,
przy wywoływaniu metody:
double codec::count_entrop()
{
int val=0;
double entrR=0;
QVector<int> entropR(256, 0);
for(int y=0; y<height; y++)
{
for (int x=0; x<width; x++)
{
entropR[val]=qRed(picture_copy.pixel(x,y));
val++;
}
}
for(int y=0; y<val; y++ )
{
entropR[y]=entropR[y]/(height*width);
}
for(int y=0; y<val; y++ )
{
entrR+=entropR[y]*qLn(entropR[y])/qLn(2);
}
ui->results->append(" entrR: "+QString::number(entrR));
return 0;
}
działanie programu zostaje przerwane z komunikatem:
ASSERT failure in QVector<T>::operator[]: "index out of range", file C:\Qt\Qt5.2.1\5.2.1\msvc2012_64_opengl\include\QtCore/qvector.h, line 369
Gdzie height i width są odpowiednio wysokością i szerokością obrazka qImage: picture_copy (obrazek na pewno jest "niezerowy").
Bardzo proszę o podpowiedź co robię nie tak (zaznaczę jeszcze, że jestem początkującym programistą więc proszę o wyrozumiałość).