日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python图片旋转脚本_封装了深度学习中几个图片数据增强的脚本-python平移、旋转与调整大小...

發布時間:2024/1/8 python 26 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python图片旋转脚本_封装了深度学习中几个图片数据增强的脚本-python平移、旋转与调整大小... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

平移

代碼

演示

刪除

代碼

演示

旋轉

代碼

演示

平移

代碼

可以調整以下的代碼,只進行某一方向的平移;也可修改divisor調整平移的比例因子。

import cv2

import numpy as np

from PIL import Image

from matplotlib import pyplot as plt

import os, sys

def transSave(picPath, divisor=0.05):

img = cv2.imread(picPath)

rows, cols = img.shape[:2]

# 計算偏移量

deltaX = rows * divisor

deltaY = cols * divisor

M1 = np.float32([[1, 0, deltaX], [0, 1, 0]])

M2 = np.float32([[1, 0, -deltaX], [0, 1, 0]])

M3 = np.float32([[1, 0, 0], [0, 1, deltaY]])

M4 = np.float32([[1, 0, 0], [0, 1, -deltaY]])

# 用仿射變換實現平移

img_s1 = cv2.warpAffine(img, M1, (cols, rows))

img_s2 = cv2.warpAffine(img, M2, (cols, rows))

img_s3 = cv2.warpAffine(img, M3, (cols, rows))

img_s4 = cv2.warpAffine(img, M4, (cols, rows))

# 保存圖片

cv2.imwrite(picPath.replace('.jpg', '_1.jpg'), img_s1)

cv2.imwrite(picPath.replace('.jpg', '_2.jpg'), img_s2)

cv2.imwrite(picPath.replace('.jpg', '_3.jpg'), img_s3)

cv2.imwrite(picPath.replace('.jpg', '_4.jpg'), img_s4)

if __name__ == '__main__':

rootdir = sys.argv[1] # 指明被遍歷的文件夾

for parent, dirnames, filenames in os.walk(rootdir):

for filename in filenames:

currentPath = os.path.join(parent, filename)

transSave(currentPath)

演示

直接在cmd中運行即可,注意指定路徑

可以進入目錄,看到平移后的圖片

刪除

這個方法用于撤銷之前的平移操作,也可以用于撤銷下面的旋轉操作

代碼

import os

import os.path

import sys

rootdir = sys.argv[1] # 指明被遍歷的文件夾

for parent, dirnames, filenames in os.walk(rootdir):

for filename in filenames:

currentPath = os.path.join(parent, filename)

# 注意判斷條件,如果原文件名字有_則不適用,需要自己修改

if len(filename.split('_'))>1:

print('filename is :' + filename)

os.remove(currentPath)

演示

數據又回到了之前的樣子

旋轉

代碼

注釋當中有調整大小以及各種旋轉的代碼

from PIL import Image

import os

import os.path

import sys

rootdir = sys.argv[1] # 指明被遍歷的文件夾

for parent, dirnames, filenames in os.walk(rootdir):

for filename in filenames:

currentPath = os.path.join(parent, filename)

im = Image.open(currentPath)

#out = im.rotate(45) #45°旋轉

#out = im.resize((224, 224))

out = im.transpose(Image.FLIP_LEFT_RIGHT)

#out = im.transpose(Image.FLIP_TOP_BOTTOM) #垂直翻轉

#out = im.transpose(Image.ROTATE_90) # 90

#out = im.transpose(Image.ROTATE_180) #180°順時針翻轉

#out = im.transpose(Image.ROTATE_270) #270°順時針翻轉

newname=currentPath.replace('.jpg', '_transpose.jpg')

out.save(newname)

演示

在cmd執行后,可以去目錄看到結果

總結

以上是生活随笔為你收集整理的python图片旋转脚本_封装了深度学习中几个图片数据增强的脚本-python平移、旋转与调整大小...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。