2016-01-08 2 views
0

Попробуйте найти среднее и дисперсионное изображение. Выход: M = -5.8099e-16 D = -4.97692e-23Поиск и устранение ошибок при поиске изображений с opencv

Mat _mat = imread("img.jpg",0); 
_mat.convertTo(mat, CV_32F, 1.0/255, 0);  
Mat mean, dev; 
mean.convertTo(mean, CV_32F); 
dev.convertTo(dev, CV_32F); 
meanStdDev(_mat, mean, dev); 
float M = mean.at<float>(0,0); 
float D = dev.at<float>(0,0); 
cout << M << D 

Что случилось?

+1

мы не видим свой выход, так что трудно сказать, что пошло не так, но попробуйте кормить в сорте :: скаляра для среднего и устр вместо сорта :: Mat (который также имеет двойной, не плавающий type) – berak

+0

да, спасибо. Это работы: Scalar mean, dev; meanStdDev (_mat, mean, dev); float M = mean.val [0]; float D = dev.val [0]; – magrif

+1

так, это было в основном двойная проблема с поплавком. пожалуйста, решитесь ответить на свой вопрос, как только вы приобрели достаточно кармы. – berak

ответ

0
Scalar mean,dev; 
meanStdDev(_mat, mean, dev); 
double M = mean.val[0]; 
double D = dev.val[0];