发布时间:2019-08-28 06:07:33
是不是想将每横行的所有数值归一化到0到1之间?如果是,请这样
// 获取原数组中最大值,归一化之后此最大值为1.vector<uchar> max;for ( int i = 0; i < img.rows; i++) max.push_back(img.at<uchar>(i, 0 ));for ( int i = 0; i < img.cols; i++) for ( int j = 0; j < img.rows; j++) if (img.at<uchar>(j, i ) > max[j] ) max[j] = img.at<uchar>(j, i );// 新建Mat,其中将存入归一化之后的值Mat newImg = Mat::zeros( img.cols, img.rows, CV_32FC1 );for ( int i = 0; i < img.cols; i++) for ( int j = 0; j < img.rows; j++) newImg.at<float>[j, i] = img.at<uchar[j, i] / max[j];//至此结束,newImg里面就是你要的归一化之后的矩阵