mor*_*ebi 3 c++ opencv image-processing rotation
如何使用OpenCV 2.4.3实现imrotate(Mat src,Mat dst,双角度)?有一个函数warpAffine(),但它做得更多,令人困惑.它会超出界限.
我希望它能够使画布更大,以适应一切.并用黑色填补空白点.
我这样解决了.谢谢你的回答.
Mat rotateImage(const Mat source, double angle,int border=20)
{
Mat bordered_source;
int top,bottom,left,right;
top=bottom=left=right=border;
copyMakeBorder( source, bordered_source, top, bottom, left, right, BORDER_CONSTANT,cv::Scalar() );
Point2f src_center(bordered_source.cols/2.0F, bordered_source.rows/2.0F);
Mat rot_mat = getRotationMatrix2D(src_center, angle, 1.0);
Mat dst;
warpAffine(bordered_source, dst, rot_mat, bordered_source.size());
return dst;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2570 次 |
| 最近记录: |