0
我必须找到与视频的第一帧的视频的所有帧的互相关....如何使用opencv获取视频的第一帧?
double crossCorrelation(IplImage* img1, IplImage* img2) {
double corr;
int M = img1->width;
int N = img1->height;
BwImage img_1(img1);
BwImage img_2(img2);
CvScalar img1_avg = cvAvg(img1, NULL);
CvScalar img2_avg = cvAvg(img2, NULL);
double sum_img1_img2 = 0;
double sum_img1_2 = 0;
double sum_img2_2 = 0;
for(int m=0; m<M; ++m) {
for(int n=0; n<N; ++n) {
sum_img1_img2 = sum_img1_img2 + (img_1[m][n]-img1_avg.val[0])*(img_2[m][n]-img2_avg.val[0]);
sum_img1_2 = sum_img1_2 + (img_1[m][n]-img1_avg.val[0])*(img_1[m][n]-img1_avg.val[0]);
sum_img2_2 = sum_img2_2 + (img_2[m][n]-img2_avg.val[0])*(img_2[m][n]-img2_avg.val[0]);
}
}
corr = sum_img1_img2/sqrt(sum_img1_2*sum_img2_2);
return corr;
}
这是用于查找相关的代码。对于img1我需要框架1,其余框架将img 2在循环中!
我该怎么做? 请帮忙!
你应该用CV ::垫(C++)或CvMat中(C) - 而不是IplImage的 - 但基本上是正确的 –