我有一個浮點值的Nx1
矩陣。我只想得到從22nd
到Nth
項目的平均值。我創建了一個尺寸爲Nx1
的二進制掩碼,其餘的爲0s
,其範圍爲[0,21]
和1s
。在計算平均值時使用該蒙版(使用內置函數獲得最大速度)會產生錯誤。代碼片段如下。如何在OpenCV中隱藏浮點圖像?
的錯誤是:對輸入參數
尺寸不cvSvg匹配()」
應該是什麼正確的面膜我已經使用浮動點,而不是整數的嘗試?面具,仍然沒有工作。
CvMat mask;
int i;
int N = img->width;
IplImage* W = cvCreateImage(cvSize(N, 1), IPL_DEPTH_32F , 1);
IplImage* A = cvCreateImage(cvGetSize(img), IPL_DEPTH_32F , 1);
cvConvertScale(img, A);
int* vals = (int*)malloc(N*sizeof(int));
for(i=0; i<N; i++)
{
if(i<22)
vals[i] = 0;
else
vals[i] = 1;
}
cvInitMatHeader(&mask, N, 1, CV_8U, vals);
cvSVD(A, W, NULL, NULL, CV_SVD_MODIFY_A);
CvScalar mean = cvAvg(W, &mask);