写出python opencv旋转图片代码
时间: 2023-05-11 09:06:19 浏览: 173
以下是 Python OpenCV 旋转图片的代码:
```python
import cv2
# 读取图片
img = cv2.imread('image.jpg')
# 获取图片的高度和宽度
(h, w) = img.shape[:2]
# 计算旋转中心点的坐标
center = (w // 2, h // 2)
# 定义旋转角度
angle = 45
# 定义缩放比例
scale = 1.0
# 获取旋转矩阵
M = cv2.getRotationMatrix2D(center, angle, scale)
# 执行旋转操作
rotated = cv2.warpAffine(img, M, (w, h))
# 显示旋转后的图片
cv2.imshow("Rotated Image", rotated)
cv2.waitKey(0)
```
希望这个代码能够帮到你!
相关问题
利用opencv读入图片,然后进行图片裁剪,图片旋转,图片平移操作,并分别显示操作后的结果,写出python代码
在Python中,我们可以利用OpenCV库完成图片的读取、裁剪、旋转和平移等基本操作。以下是一个示例代码,展示了如何实现这些功能:
```python
import cv2
import numpy as np
# 1. 读取图片
img = cv2.imread('example.jpg') # 替换为你想要处理的图片路径
if img is None:
print("无法打开图片")
else:
height, width, _ = img.shape
# 2. 图片裁剪
x, y, w, h = 50, 50, 200, 200 # 裁剪区域左上角坐标及宽度高度
cropped_img = img[y:y+h, x:x+w]
cv2.imshow('Cropped Image', cropped_img)
cv2.waitKey(0)
# 3. 图片旋转 (顺时针90度为例)
rotation_matrix = cv2.getRotationMatrix2D((width / 2, height / 2), 90, 1) # 中心点和缩放比例1保持原尺寸
rotated_img = cv2.warpAffine(img, rotation_matrix, (width, height))
cv2.imshow('Rotated Image', rotated_img)
cv2.waitKey(0)
# 4. 图片平移 (水平向右移动50像素)
translation_matrix = np.float32([[1, 0, 50], [0, 1, 0]]) # 第二列对应平移方向和距离
translated_img = cv2.warpAffine(img, translation_matrix, (width, height))
cv2.imshow('Translated Image', translated_img)
cv2.waitKey(0)
cv2.destroyAllWindows() # 关闭所有窗口
```
在这个代码片段中,我们首先读取图片,然后对图片进行指定位置的裁剪、顺时针旋转90度以及水平向右平移50像素的操作,并分别显示处理后的图像。
python代码 opencv
### Python OpenCV代码示例教程
#### 使用OpenCV读取并显示图像
为了展示如何利用Python和OpenCV进行基本操作,这里提供了一个简单的例子,该实例展示了怎样加载一张图片并且将其呈现给用户。这段程序首先导入必要的`cv2`模块,接着调用`imread()`函数来获取文件名为"image.jpg"的图形数据[^3]。
```python
import cv2
img = cv2.imread("image.jpg")
cv2.imshow("Image", img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
上述脚本执行完毕之后会打开一个新的窗口显示出所选照片的内容;当按下任意键时关闭这个视窗结束整个过程。
#### 绘制椭圆于图像之上
另一个有趣的案例涉及到了在现有图层上面叠加几何形状——具体来说就是画一个椭圆。此功能由`cv2.ellipse()`所提供,它允许开发者定义中心位置、轴长度以及旋转角度等多个参数从而精确控制最终效果[^2]。
```python
import numpy as np
import cv2
# 创建黑色背景上的白色填充矩形区域作为底板
img = np.zeros((512, 512, 3), dtype=np.uint8)
# 定义椭圆属性并在图像上绘制之
center_coordinates = (120, 100)
axesLength = (100, 50)
angle = 30
startAngle = 0
endAngle = 360
color = (255, 0, 0)
thickness = -1
cv2.ellipse(img, center_coordinates, axesLength,
angle, startAngle, endAngle, color, thickness)
cv2.imshow('Ellipse', img)
cv2.waitKey(0)
cv2.destroyAllWindows()
```
在这个例子中创建了一张全黑的新图画布(`np.zeros`),随后在其上方按照设定好的规格渲染出了蓝色实心椭圆形体。
#### 将处理后的图像保存至磁盘
最后,在完成了各种编辑动作以后可能还需要把修改过的结果存回本地硬盘里去。这时就可以借助`cv2.imwrite()`命令轻松实现这一目标了。只需要给出想要命名的目标路径加上扩展名即可完成这项任务[^4]。
```python
cv2.imwrite('output_image.png', img)
```
这条语句将会依据PNG编码格式写出之前生成的那个带有椭圆图案的画面副本,并命名为`output_image.png`放置在同一级目录下。
阅读全文
相关推荐












