Opencv矩阵每元素操作

Yon*_*ing 1 c++ opencv matrix

我有一个cv::Mat,我想做一些每元素操作.例如,我有一个浮点矩阵cv::Mat m(100,100, CV_64F);.我有另一个功能如下:

double fun(double elem);
Run Code Online (Sandbox Code Playgroud)

如何将此函数应用于矩阵,该矩阵可以执行每个元素的操作.

And*_*dov 5

你可以这样做:

double func(double x)
{
    return(sin(x));
}

int main(void)
{
    Mat M=Mat::eye(3,3,CV_64FC1);
    std::transform(M.begin<double>(),M.end<double>(),M.begin<double>(),func);
    cout << M;
    getchar();
    return 0;
}
Run Code Online (Sandbox Code Playgroud)