【发布时间】:2013-02-09 04:34:43
【问题描述】:
我正在从网络摄像头捕捉图像,我需要将其旋转直角。我发现自己有这些功能:
-
getRotationMatrix2D- 创建旋转矩阵(不管它是什么) -
transform- 通过旋转矩阵将一个矩阵转换为另一个矩阵
但是,除了黑色区域,我什么都没有。这是我的代码:
if(rotate_button.click%4>0) {
double angle = (rotate_button.click%4)*90; //button increments its click by 1 per click
Mat transform_m = getRotationMatrix2D(Point(cam_frame_width/2, cam_frame_height/2), angle, 1); //Creating rotation matrix
Mat current_frame;
transform(cam_frame, current_frame, transform_m); //Transforming captured image into a new one
cam_frame = Mat((int)current_frame.cols,(int)current_frame.rows, cam_frame_type) = Scalar(0,128,0); //resizing captured matrix, so I can copy the resized one on it
current_frame.copyTo(cam_frame); //Copy resized to original
}
只输出黑屏。
【问题讨论】:
-
这个问题是关于C++的,而另一个问题依赖于Java接口。一些答案使用 C++ 接口,但这不是将此问题标记为重复的充分理由。
标签: c++ opencv matrix image-rotation