它只给我1分
int maxVal;
int minVal;
int wh = w*h;
int values[1000];
for(x=0;x<w;x++){
for(y=0;y<h;y++){
double RealColor = cvGetReal2D(source, y, x);
values[x*y + y] = RealColor;
}
}
minVal = *min_element(values,(values+wh));
maxVal = *max_element(values,(values+wh));
float dif = maxVal - minVal;
float fminVal;
fminVal = minVal;
for(x=0;x<w;x++){
for(y=0;y<h;y++){
float rc = cvGetReal2D(source, y, x);
float normRealColor =(rc - fminVal + 1) / dif;
file << normRealColor << " ";
}
file << endl;
}file << endl;如何使它不仅返回1或0,而且返回0,0.1 0.001 .1如何返回?墙
发布于 2011-02-07 06:03:41
values数组是一个int数组,因此它只能包含整数,而不能包含浮点数。将其更改为float或double是否解决了问题?而且,索引表达式x*y + y是不正确的:它应该是x*h + y或w*y + x。
https://stackoverflow.com/questions/4918437
复制相似问题