C++ cv::rotate似乎没有效果

C++ cv::rotate似乎没有效果,c++,opencv,C++,Opencv,我想顺时针旋转cv::Mat90度。 我编写了以下代码片段: cv::Mat m = populate_somehow(); cv::Mat rot; cv::rotate(m,rot,ROTATE_BY_90_CW); std::cout << rot.total()*rot.elemSize() << std::endl; cv::imwrite("dump0.bmp",m); cv::imwrit

我想顺时针旋转
cv::Mat
90度。 我编写了以下代码片段:

    cv::Mat m =  populate_somehow();
    cv::Mat rot;
    cv::rotate(m,rot,ROTATE_BY_90_CW);
    std::cout << rot.total()*rot.elemSize() << std::endl;
    cv::imwrite("dump0.bmp",m);
    cv::imwrite("dump1.bmp",rot);
cv::Mat m=以某种方式填充_();
cv::席腐病;
cv::旋转(m,旋转,按90°CW旋转);

std::cout我认为您的旋转代码错误,请尝试使用
cv::顺时针旋转90

就是这样。谢谢,在长时间盯着同一个代码看之后,很难发现这一点。它是如何编译的<甚至不应定义“代码>按90°顺时针旋转”。True。但是,在cv::rotate()中,rotate代码参数是int,而不是enum类。此代码段所属的项目中还有其他类,它们将ROTATE_BY_90_CW定义为枚举。因此,编译器无法捕捉到这一点,因为两个枚举都可以强制转换为int。