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了? 展开
{
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了? 展开
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
STM32F103是一款高性能的嵌入式芯片,由意法半导体(STMicroelectronics)公司生产。它是STM32系列芯片之一,具有紧凑、低功耗、高性能等特点,被广泛应用于嵌入式系统中。STM32F103的主要特点包括:1. 集成了A...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询