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。