opencvsharp如何旋转图片
时间: 2024-09-11 10:10:49 浏览: 18
在OpenCVSharp中,你可以使用`imgcodecs`和`Imgproc`模块来旋转图片。这里是一个简单的示例,展示如何将图片顺时针旋转90度:
```csharp
using System;
using OpenCvSharp;
class Program
{
static void Main(string[] args)
{
// 加载图片
Mat img = imgcodecs.IMRead("path_to_your_image.jpg", ImreadModes.Color);
// 确保图片不是NULL并且加载成功
if (img.Empty())
{
Console.WriteLine("Error loading image");
return;
}
// 定义旋转角度(这里是90度)
int angleInDegrees = 90;
// 将角度转换成弧度
double angleInRadians = Math.PI * angleInDegrees / 180.0;
// 计算旋转矩阵
Point2f center = new Point2f(img.Width / 2, img.Height / 2);
Mat rotationMatrix = Imgproc.GetRotationMatrix2D(center, angleInRadians, 1); // scale=1保持原始大小
// 应用旋转
Mat rotatedImage = new Mat();
Imgproc.WarpAffine(img, rotatedImage, rotationMatrix, img.Size());
// 保存旋转后的图片
imgcodecs.IMWrite("rotated_image.jpg", rotatedImage);
Console.WriteLine("Rotation completed");
}
}
```
在这个例子中,你需要替换`"path_to_your_image.jpg"`为你要旋转的实际图片路径。运行这个程序后,会生成一个新的文件`rotated_image.jpg`,其中包含了原图按照指定角度旋转的效果。