OpenCV图像旋转代码
时间: 2023-03-14 12:20:25 浏览: 88
OpenCV 提供了一种很容易使用的API来旋转图像,只需要在代码中提供旋转中心,旋转角度以及可选的缩放比例参数就可以实现。示例代码如下:Mat image = // 你的图像Point2f center(image.cols/2.0, image.rows/2.0);double angle = -30.0;double scale = 1.0;Mat rot_mat = getRotationMatrix2D(center, angle, scale);Mat rotated_image;warpAffine(image, rotated_image, rot_mat, image.size());
相关问题
opencv 图像旋转
在使用OpenCV进行图像旋转时,你可以使用cv2.getRotationMatrix2D函数来获取旋转矩阵,该函数需要传入旋转中心点的坐标、旋转角度和缩放比例。然后你可以使用cv2.warpAffine函数将旋转矩阵应用于图像,实现旋转。
以下是一个示例代码来演示如何使用OpenCV进行图像旋转:
```
import cv2
# 读取图像
src = cv2.imread('./resource/image_A.png')
# 获取图像的行数、列数和通道数
rows, cols, channel = src.shape
# 绕图像的中心点旋转30度,逆时针旋转,并缩小到0.5
M = cv2.getRotationMatrix2D((cols/2, rows/2), angle=30, scale=0.5)
rotated_img = cv2.warpAffine(src, M, (cols, rows))
# 显示旋转后的图像
cv2.imshow('Rotated Image', rotated_img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
java opencv 图像旋转
以下是使用Java OpenCV实现图像旋转的示例代码[^2]:
```java
import org.opencv.core.Core;
import org.opencv.core.Mat;
import org.opencv.core.Point;
import org.opencv.core.Size;
import org.opencv.imgcodecs.Imgcodecs;
import org.opencv.imgproc.Imgproc;
public class ImageRotation {
public static void main(String[] args) {
// 加载OpenCV库
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
// 读取图像
Mat src = Imgcodecs.imread("input.jpg");
// 定义旋转中心点
Point center = new Point(src.cols() / 2, src.rows() / 2);
// 定义旋转角度
double angle = 33;
// 定义缩放比例
double scale = 1;
// 计算旋转矩阵
Mat rotationMatrix = Imgproc.getRotationMatrix2D(center, angle, scale);
// 执行旋转操作
Mat rotatedImage = new Mat();
Imgproc.warpAffine(src, rotatedImage, rotationMatrix, new Size(src.cols(), src.rows()));
// 保存旋转后的图像
Imgcodecs.imwrite("output.jpg", rotatedImage);
}
}
```
请注意,上述代码中的"input.jpg"是输入图像的文件路径,"output.jpg"是旋转后的图像保存路径。你需要将这两个路径替换为你自己的图像路径。
阅读全文