gpt4 book ai didi

c++ - 这样的代码怎么会返回这么乱?

转载 作者:塔克拉玛干 更新时间:2023-11-03 08:20:18 25 4
gpt4 key购买 nike

所以对于超过 10000 张 openCV 图像,我想执行类似的操作

            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*h + 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) / dif;
file << normRealColor << " ";
}
file << endl;
}file << endl;

我所有的图片都是 8*8 大小的黑白,但它返回给我的是这样的:

-1.#IND -1.#IND -1.#IND -1.#IND -1.#IND -1.#IND -1.#IND -1.#IND 
-1.#IND -1.#IND -1.#IND -1.#IND -1.#IND -1.#IND -1.#IND -1.#IND
-1.#IND -1.#IND -1.#IND -1.#IND -1.#IND -1.#IND -1.#IND -1.#IND
-1.#IND -1.#IND -1.#IND -1.#IND -1.#IND -1.#IND -1.#IND -1.#IND
-1.#IND -1.#IND -1.#IND -1.#IND -1.#IND -1.#IND -1.#IND -1.#IND
-1.#IND -1.#IND -1.#IND -1.#IND -1.#IND -1.#IND -1.#IND -1.#IND
-1.#IND -1.#IND -1.#IND -1.#IND -1.#IND -1.#IND -1.#IND -1.#IND
-1.#IND -1.#IND -1.#IND -1.#IND -1.#IND -1.#IND -1.#IND -1.#IND

并不总是返回它!!!有时我会得到想要的东西,比如

0 0 0 0.166667 0.166667 0.333333 0.333333 0.333333 
0.166667 0.166667 0.166667 0.333333 0.333333 0.5 0.5 0.5
0.333333 0.333333 0.5 0.5 0.666667 0.666667 0.666667 0.833333
0.5 0.5 0.666667 0.666667 0.833333 0.833333 0.833333 1
0.666667 0.666667 0.666667 0.833333 0.833333 1 1 1
0.5 0.666667 0.666667 0.666667 0.833333 0.833333 1 1
0.5 0.5 0.5 0.666667 0.666667 0.833333 0.833333 0.833333
0.333333 0.5 0.5 0.5 0.666667 0.666667 0.833333 0.833333

有什么想法吗?

顺便说一句(我知道有 cvNormalize(source,source,1,0,CV_MINMAX ); 但我需要使用手写代码...)

最佳答案

这是除以0的结果,也就是说diff为0,也就是说你的一些图像是“平的”,所以minVal == maxVal .

关于c++ - 这样的代码怎么会返回这么乱?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4936379/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com