2010-02-17 78 views
6

我需要使用C++旋转图像的代码,其功能类似于matlab的imrotate函数。 请建议一个好的链接。或者如果有人可以提供imrotate的代码。在C/C++中旋转图像

或者至少请说明算法。

它不是一个功课。我需要这个代码用于我的项目。我们可以使用任何外部库或代码。

回答

8

OpenCV2.0有几个计算机视觉和图像处理工具。特别是warpAffine(通过定义旋转矩阵)可以解决旋转图像时的问题。

的文档中提到的2×3变换矩阵如下: alt text

其中θ是旋转和T的角 X和叔ÿ是沿Xy中的翻译分别为轴。

你可以得到源代码here

此外,OpenCV2.0具有像imread许多 MATLAB式的功能等

+1

(+1)我的朋友使用这个库并且喜欢它看这里http://ashish-newday.blogspot.com/2009/12/mouse-cursor-position-control-using-our.html – 2010-02-17 05:03:32

+1

但是没有图像warpImage在openCV – avd 2010-02-17 05:06:31

+1

我的不好,我更新到正确的功能'warpAffine' – Jacob 2010-02-17 05:07:38

1

Check这个希望它有帮助。

关于same topic专家意见堆栈溢出的其他问题。

3

Magick可以帮到你。阅读this PDF并搜索旋转。

+0

Imagemagick,您的最佳选择 – Craig 2010-02-17 05:10:33

0

在C++中没有内置的方法来完成此操作,因为编写自己的函数来处理二进制数据,这会产生其他问题,例如“如何在C++中解压缩jpg/png?”。

你最好的赌注是一个第三方图形库,如libSDL

+0

这个问题是一个非常有效的方式来要求从C++链接库。 – slim 2010-02-17 05:13:51

+1

...我相信我将他链接到可链接库? – meagar 2010-02-17 05:33:09