【问题标题】:How to implement the imrotate functioin using OpenCV如何使用 OpenCV 实现 imrotate 功能
【发布时间】:2016-05-12 03:56:25
【问题描述】:

是的。我想得到与 matlab 中的 imrotate 相同的结果,但我不明白这一点。 更具体地说,我得到一个垫子A

一个=

 1     2     3
 4     5     6

imrotate(a, 45)

ans =

 0     0     0     0     0
 0     0     3     6     0
 0     1     2     6     0
 0     1     4     0     0
 0     0     0     0     0

如何使用 OpenCV 做到这一点?

【问题讨论】:

标签: c++ matlab opencv


【解决方案1】:

您可能需要使用 getRotationMatrix2D 和 warpAffine。 像这样:

Mat     A(5, 5, CV_8U, Scalar(0));  
Point   center(3, 3);  
double  angle = 45;  
int value=1;
for (int i = 2 ; i<4 ;i++)
{
    for (int j = 1 ; j <4 ;j++)
    {
        A.at(j,i) = value;
        value++;
    }
}
Mat matrix = getRotationMatrix2D(center, angle, 1.0);
Mat imgRotation;  
warpAffine(A, imgRotation, matrix, Size(5, 5));  

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-29
    • 1970-01-01
    • 2017-09-30
    • 1970-01-01
    • 2013-01-17
    • 1970-01-01
    • 2018-11-19
    • 2018-06-10
    相关资源
    最近更新 更多