Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/visual-studio-code/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 减法表示图像c++;opencv_C++_Mean_Opencv3.0 - Fatal编程技术网

C++ 减法表示图像c++;opencv

C++ 减法表示图像c++;opencv,c++,mean,opencv3.0,C++,Mean,Opencv3.0,我想把图像的平均值减去这个图像。 我正在使用DFT,然后我想做一些处理,以使我的图像更清晰。 我使用了meanstdev函数,但是图像没有改变。我应该使用什么函数来代替 我的代码 你的问题并不清楚问题可能在哪里,你能创建一个吗?谢谢你的回答,我添加了代码。代码正常工作,但图像的平均值与无平均值之间没有差异。只需将所有值相加并除以像素数,即可获得图像通道的平均值。你可能还有第三个通道,是吗?当我使用:std::cerr时,我猜你想说的是,magI只有一个通道。这一点很清楚,正如docu中所写的“计

我想把图像的平均值减去这个图像。 我正在使用DFT,然后我想做一些处理,以使我的图像更清晰。 我使用了meanstdev函数,但是图像没有改变。我应该使用什么函数来代替

我的代码


你的问题并不清楚问题可能在哪里,你能创建一个吗?谢谢你的回答,我添加了代码。代码正常工作,但图像的平均值与无平均值之间没有差异。只需将所有值相加并除以像素数,即可获得图像通道的平均值。你可能还有第三个通道,是吗?当我使用:std::cerr时,我猜你想说的是,magI只有一个通道。这一点很清楚,正如docu中所写的“计算2D向量的大小”。它将第一个通道视为x坐标,第二个通道视为y坐标,然后计算这些2D向量的长度。
    dft(complexI, complexI);            

    split(complexI, planes);                   
    magnitude(planes[0], planes[1], planes[0]);
    Mat magI = planes[0];

    magI += Scalar::all(1);                    
    log(magI, magI);


    magI = magI(Rect(0, 0, magI.cols & -2, magI.rows & -2));

    int cx = magI.cols / 2;
    int cy = magI.rows / 2;

    Mat q0(magI, Rect(0, 0, cx, cy));  
    Mat q1(magI, Rect(cx, 0, cx, cy)); 
    Mat q2(magI, Rect(0, cy, cx, cy));  
    Mat q3(magI, Rect(cx, cy, cx, cy)); 

    Mat tmp;                           
    q0.copyTo(tmp);
    q3.copyTo(q0);
    tmp.copyTo(q3);

    q1.copyTo(tmp);                    
    q2.copyTo(q1);
    tmp.copyTo(q2);
    Mat mean;
    Mat stddev;
    meanStdDev(magI, mean, stddev);
    Mat dst;

    subtract( magI, mean, dst);


    normalize(dst, dst, 0, 1, CV_MINMAX);
    namedWindow("spectrum magnitude", WINDOW_AUTOSIZE);
    imshow("spectrum magnitude", dst);