C#如何用opencvsharp4对图片进行旋转
时间: 2024-10-04 18:04:05 浏览: 70
在C#中使用OpenCVSharp4库对图片进行旋转,你需要先安装好OpenCVSharp4库,并且了解基本的图像处理操作。以下是步骤:
1. **添加依赖**:如果你还没有添加OpenCVSharp4的NuGet包,可以在Visual Studio中右键项目 -> 管理 NuGet 包,搜索并安装`OpenCvSharp4`。
2. **导入命名空间**:
```csharp
using OpenCvSharp;
using System.Drawing;
```
3. **加载图片**:
```csharp
Mat srcImage = Cv2.ImRead("path_to_your_image.jpg", ImreadModes.Color);
```
4. **获取原图尺寸**:
```csharp
Size imageSize = srcImage.Size();
int centerX = imageSize.Width / 2;
int centerY = imageSize.Height / 2;
```
5. **确定旋转角度**。这里假设你想顺时针旋转90度:
```csharp
double angleInDegrees = 90; // 可以修改旋转的角度
```
6. **创建旋转矩阵**:
```csharp
Point2f center = new Point2f(centerX, centerY);
Mat rotationMatrix = Cv2.GetRotationMatrix2D(center, -angleInDegrees, 1.0); // 注意负号是因为OpenCV顺时针旋转与通常相反
```
7. **应用旋转矩阵**:
```csharp
Mat rotatedImage = new Mat();
Cv2.WarpAffine(srcImage, rotatedImage, rotationMatrix, imageSize, InterpolationTypes.Bilinear, BorderMode.Constant, new Scalar(0));
```
8. **显示或保存结果**:
```csharp
rotatedImage.Save("rotated_image.jpg");
// 或者使用Cv2.imshow()显示旋转后的图片,然后按任意键关闭窗口
Cv2.ShowImage("Rotated Image", rotatedImage);
Cv2.WaitKey(0);
```
阅读全文