图像中心逆时针旋转90度 cv2示例
时间: 2024-10-16 21:15:58 浏览: 44
图像中心逆时针旋转90度,通常是在计算机视觉领域进行图像处理时的操作。在Python的OpenCV库(cv2)中,可以使用`getRotationMatrix2D()`函数生成旋转矩阵,然后通过`warpAffine()`函数应用旋转。以下是一个简单的例子:
```python
import cv2
import numpy as np
# 假设你有一个读取好的图片数组 'img'
image = cv2.imread('your_image_path.jpg', cv2.IMREAD_COLOR)
# 定义旋转中心点 (h, w),这里通常是图片的中心点
center = (image.shape[1] // 2, image.shape[0] // 2)
angle = -90 # 逆时针旋转,负角度代表逆时针
# 计算旋转矩阵
rot_matrix = cv2.getRotationMatrix2D(center, angle, 1.0)
# 应用旋转并保持原始尺寸,如果需要缩放则设置scale因子
rotated_image = cv2.warpAffine(image, rot_matrix, (image.shape[1], image.shape[0]))
# 保存旋转后的图片
cv2.imwrite('rotated_image.jpg', rotated_image)
相关问题
cv2 图像逆时针反转90度
在OpenCV (cv2) 中,如果你想将一张图像逆时针旋转90度,你可以使用`cv2.rotate()`函数,它接受一个输入图像、旋转角度以及一种旋转模式(顺时针或逆时针)。对于逆时针旋转90度,你需要传递`cv2.ROTATE_90_COUNTERCLOCKWISE`作为旋转模式。下面是一个简单的示例:
```python
import cv2
def rotate_image(image_path):
# 加载图像
image = cv2.imread(image_path)
# 逆时针旋转90度
rotated_image = cv2.rotate(image, cv2.ROTATE_90_COUNTERCLOCKWISE)
# 显示原图和旋转后的图
cv2.imshow("Original Image", image)
cv2.imshow("Rotated Image", rotated_image)
# 等待用户按键,然后关闭窗口
cv2.waitKey(0)
cv2.destroyAllWindows()
# 使用你的图片路径替换image_path
rotate_image('your_image_path.jpg')
```
在这个例子中,你需要将 `'your_image_path.jpg'` 替换为你实际要处理的图片文件路径。
基于python,开启摄像头时,使摄像头逆时针旋转90度
在Python中,如果你想要通过OpenCV(cv2)库来操作摄像头并实现逆时针旋转90度,可以使用`cv2.rotate()`函数。以下是一个简单的示例:
```python
import cv2
# 打开摄像头
cap = cv2.VideoCapture(0) # 0通常表示内置摄像头
# 获取摄像头帧的宽度和高度
frame_width = int(cap.get(cv2.CAP_PROP_FRAME_WIDTH))
frame_height = int(cap.get(cv2.CAP_PROP_FRAME_HEIGHT))
# 创建一个新的视频流对象,用于存储旋转后的帧
fourcc = cv2.VideoWriter_fourcc(*'XVID') # XVID编码,可根据需要调整
rotated_cap = cv2.VideoWriter('output.avi', fourcc, cap.get(cv2.CAP_PROP_FPS), (frame_height, frame_width))
while True:
# 读取原始帧
ret, frame = cap.read()
# 如果读取成功,进行旋转
if ret:
rotated_frame = cv2.rotate(frame, cv2.ROTATE_90_COUNTERCLOCKWISE) # 逆时针旋转90度
rotated_cap.write(rotated_frame)
# 显示原图和旋转后的图像
cv2.imshow("Original", frame)
cv2.imshow("Rotated", rotated_frame)
# 按 'q' 键退出循环
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# 释放资源
cap.release()
rotated_cap.release()
cv2.destroyAllWindows()
```
在这个例子中,你需要安装OpenCV库才能运行这段代码。运行完这个程序后,你会看到一个窗口显示原始摄像头画面以及旋转90度后的画面。
阅读全文