double DefRto(Mat frame) {
Mat gray; cvtColor(frame, gray, CV_BGR2GRAY);
IplImage *img = &(IplImage(gray));
double temp = 0;
double DR = 0;
int i, j;
//循环变量
int height = img->height;
int width = img->width;
int step = img->widthStep / sizeof(uchar);
uchar *data = (uchar*)img->imageData;
double num = width*height;
for (i = 0; i < height - 1;i++) {
for (j = 0; j < width;j++) {
temp += sqrt((pow((double)(data[(i + 1)*step + j] - data[i*step + j]), 2) \ + pow((double)(data[i*step + j + 1] - data[i*step + j]), 2))); temp += abs(data[(i + 1)*step + j] - data[i*step + j]) + abs(data[i*step + j + 1] - data[i*step + j]);
}
}
DR = temp / num; return DR;
}