cv2批量将图像翻转180度
时间: 2023-05-21 13:00:54 浏览: 63
可以使用以下代码实现:
```python
import cv2
import os
# 定义函数,批量将图像翻转180度
def flip_images(folder_path):
for filename in os.listdir(folder_path):
img_path = os.path.join(folder_path, filename)
img = cv2.imread(img_path)
if img is not None:
img_flip = cv2.flip(img, 0)
cv2.imwrite(img_path, img_flip)
# 调用函数,传入图像所在文件夹路径
flip_images('path/to/images/folder')
```
这段代码会遍历指定文件夹中的所有图像文件,将它们翻转180度并保存。
相关问题
用cv2批量将文件夹中的子文件里的图片旋转180度
好的,这个问题可以回答。您可以使用Python中的OpenCV库(简称cv2),通过读取文件夹中的每个子文件夹,找到其中的所有图片文件,然后对每张图片进行180度的旋转。具体实现可以参考以下代码:
```
import cv2
import os
# 定义旋转函数
def rotate_image(image):
rows, cols, _ = image.shape
M = cv2.getRotationMatrix2D((cols/2, rows/2), 180, 1)
rotated_image = cv2.warpAffine(image, M, (cols, rows))
return rotated_image
# 遍历文件夹
folder_path = "./your_folder_path"
for root, dirs, files in os.walk(folder_path):
for file_name in files:
# 判断是否为图片文件
if file_name.endswith(".jpg") or file_name.endswith(".jpeg") or file_name.endswith(".png"):
# 读取图片
image_path = os.path.join(root, file_name)
image = cv2.imread(image_path)
# 旋转图片
rotated_image = rotate_image(image)
# 保存旋转后的图片
cv2.imwrite(image_path, rotated_image)
```
请将代码中的 "your_folder_path" 替换为您的文件夹路径,然后运行即可。
使用opencv进行多张图片进行翻转180度然后保存翻转后的图片
可以使用以下代码实现多张图片翻转180度并保存:
```python
import cv2
import os
# 定义要处理的图片路径和保存路径
image_folder = 'path/to/folder'
save_folder = 'path/to/save/folder'
# 遍历图片文件
for filename in os.listdir(image_folder):
# 读取图片
img = cv2.imread(os.path.join(image_folder, filename))
# 翻转图片
flipped_img = cv2.flip(img, 0)
# 保存翻转后的图片
cv2.imwrite(os.path.join(save_folder, 'flipped_' + filename), flipped_img)
```
其中,`cv2.imread`用于读取图片,`cv2.flip`用于翻转图片,`cv2.imwrite`用于保存翻转后的图片。
请注意,以上代码只适用于处理图片文件名没有空格的情况。如果图片文件名中有空格,需要在`os.listdir`中加入相应的处理方式。