OPENCV,为啥cvMinMaxLoc输出的极值全是零啊.

intmain(){IplImage*img=cvLoadImage("pic.jpe",1);IplImage*red=cvCreateImage(cvGetSize(... int main()
{
IplImage *img=cvLoadImage("pic.jpe",1);
IplImage *red=cvCreateImage(cvGetSize(img),img->depth,1);
IplImage *green=cvCreateImage(cvGetSize(img),img->depth,1);
IplImage *blue=cvCreateImage(cvGetSize(img),img->depth,1);

cvSplit(img,red,green,blue,NULL);

double min,max;
CvPoint MinLocation;
CvPoint MaxLocation;

cvMinMaxLoc(green,&min,&max,&MinLocation,&MaxLocation,NULL);

printf("max:%d \n",max);
printf("min:%d \n",min);
printf("MinLocation:%d \n",MinLocation);
printf("MaxLocation:%d \n",MaxLocation);

cvNamedWindow("AA",CV_WINDOW_AUTOSIZE);
cvShowImage("AA",green);
cvWaitKey(0);
cvDestroyWindow("AA");

}

无论哪张图,输出的最大值最小值都是0,为什么啊?但是我输入的图片又不是全黑的。
求大神赐教!
我发现,设断点调试时,WATCH 里面是可以看到MAX的值是255的,但是为何通过printf输出就变成0了?
展开
 我来答
hello_kiqi
推荐于2016-11-03 · 超过57用户采纳过TA的回答
知道小有建树答主
回答量:137
采纳率:0%
帮助的人:86.1万
展开全部
因为你的max 和 min 都是double型,输出确用了%d
建议你改成:
printf("max:%f \n",max);
printf("min:%f \n",min);
意法半导体(中国)投资有限公司
2023-06-12 广告
STM32F103是一款高性能的嵌入式芯片,由意法半导体(STMicroelectronics)公司生产。它是STM32系列芯片之一,具有紧凑、低功耗、高性能等特点,被广泛应用于嵌入式系统中。STM32F103的主要特点包括:1. 集成了A... 点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式