如何计算多张图片的平均值
Posted
技术标签:
【中文标题】如何计算多张图片的平均值【英文标题】:how to calculate the mean value of multiple pictures 【发布时间】:2013-02-13 15:53:14 【问题描述】:我正在尝试使用 opencv 获取多张图片的平均值,这是我的代码:
#include <opencv2\core\core.hpp>
#include <opencv2\highgui\highgui.hpp>
#include <opencv2\opencv.hpp>
using namespace std;
using namespace cv;
int main()
cv::Mat frame,frame32f;
char filename[40];
cv::Mat mean;
const int count =10;
const int width = 1920;
const int height = 1080;
cv::Mat resultframe = cv::Mat::zeros(height,width,CV_32FC3);
for(int i = 1 ; i<= count; i++)
sprintf(filename,"d:\\BMdvideos\\images\\image%d.tiff",i);
frame = imread(filename,CV_LOAD_IMAGE_COLOR);
frame.convertTo(frame32f,CV_32FC3);
resultframe +=frame32f;
cout << " i = " << i<<endl;
frame.release();
resultframe *= (1.0/count);
imshow("",resultframe);
waitKey(0);
return 0;
我在 imshow 中总是得到一个白框,不知道为什么我会得到这个。提前感谢您的帮助!
【问题讨论】:
我在previous answer 中告诉过你,如果你想可视化浮点图像,它的值应该在 0.0 到 1.0 的范围内进行归一化。 【参考方案1】:您的问题可能是标准 RGB 图像使用无符号字符值,因此范围为 [0,255]。我相信浮动图像应该在 [0,1] 范围内,所以尝试这样做:
resultframe *= (1.0/count/255)
【讨论】:
以上是关于如何计算多张图片的平均值的主要内容,如果未能解决你的问题,请参考以下文章