当前位置:网站首页>PIL's image tool image reduction and splicing.
PIL's image tool image reduction and splicing.
2022-07-05 07:36:00 【33 year old Java enthusiast】
Due to the research, Taobao teachers need to splice and cut detailed pictures
So use PIL Wrote a little program , If you need it, you can copy it .
Things are things that people use .
Get a friend to order a collection if you are useful
# -*- codeing = utf-8 -*-
# @Time : 2021/5/12
# @Author : ckw
# @File : 1.py
# @Software :PyCharm
from PIL import Image
import os
import glob
def pinjie(dirpath):
paths = glob.glob(dirpath + "/*.jpg")
paths.sort()
files = paths
width = 750
x = width
y = 0
for path_base in files:
img = Image.open(path_base)
size = img.size
if size[0] <= width:
pass
else:
size[0] > width
hight = int(width / (size[0] / size[1]))
img = img.resize((width, hight))
y += img.size[1]
img.close()
new_img = Image.new('RGB', (x, y), (255, 255, 255)) # Get the splice length
x = 0
y = 0
for path_base in files:
img = Image.open(path_base)
size = img.size
x = 0
if size[0] <= width:
new_img.paste(img, (x, y + 1))
y = y + img.size[1]
else:
size[0] > width
hight = int(width / (size[0] / size[1]))
img_1 = img.resize((width, hight))
new_img.paste(img_1, (x, y + 1))
y = y + img_1.size[1]
img.close()
# dirpath = os.path.dirname(dirpath)
usefilepath = dirpath + '\\' + ' Splicing synthesis '
if os.path.exists(usefilepath):
print(' file already exist ')
else:
os.mkdir(usefilepath)
print(' Generate file directory ')
path_m = usefilepath + '\\' + '1.jpg'
new_img.save(path_m)
new_img.close
print(' Picture splicing is completed ')
def qiepian(path, h):
if os.path.exists(path):
new_img = Image.open(path)
x1 = 0
y1 = 0
x2 = 0
y2 = 0
n = 1
v = -(-new_img.size[1] // h)
y2 = h
usefilepath = os.path.dirname(path) + '\\' + ' Slice segmentation '
if os.path.exists(usefilepath):
print(' file already exist ')
else:
os.mkdir(usefilepath)
print(' Generate file directory ')
for n in range(v):
x2 = new_img.size[0]
if y2 > new_img.size[1]:
y2 = new_img.size[1]
box = (x1, y1, x2, y2)
img = new_img.crop(box)
y1 = y2 + 1
y2 = y2 + 1 + h
path_3 = usefilepath + '\\' + '%d.jpg' % n
img.save(path_3)
img = 0
n += 1
print(' Slice successfully , Generate the file ')
else:
print(' No documents found , Please re-enter ')
def chongsu(dirpath,width,hight):
paths = glob.glob(dirpath + "/*.jpg")
paths.sort()
files = paths
# width = 750
x = width
y = 0
for path_base in files:
img = Image.open(path_base)
size = img.size
if size[0] <= width:
pass
else:
size[0] > width
hight = int(width / (size[0] / size[1]))
img = img.resize((width, hight))
y += img.size[1]
img.close()
new_img = Image.new('RGB', (x, y), (255, 255, 255)) # Get the splice length
x = 0
y = 0
for path_base in files:
img = Image.open(path_base)
size = img.size
x = 0
if size[0] <= width:
new_img.paste(img, (x, y + 1))
y = y + img.size[1]
else:
size[0] > width
hight = int(width / (size[0] / size[1]))
img_1 = img.resize((width, hight))
new_img.paste(img_1, (x, y + 1))
y = y + img_1.size[1]
img.close()
x1 = 0
y1 = 0
x2 = 0
y2 = 0
n = 1
h=hight
v = -(-new_img.size[1] // h)
y2 = h
usefilepath = os.path.dirname(dirpath) + '\\' + ' Slice segmentation '
if os.path.exists(usefilepath):
print(' file already exist ')
else:
os.mkdir(usefilepath)
print(' Generate file directory ')
for n in range(v):
x2 = new_img.size[0]
if y2 > new_img.size[1]:
y2 = new_img.size[1]
box = (x1, y1, x2, y2)
img = new_img.crop(box)
y1 = y2 + 1
y2 = y2 + 1 + h
path_3 = usefilepath + '\\' + '%d.jpg' % n
img.save(path_3)
img = 0
n += 1
print(' Slice successfully , Generate the file ')
def zypinjie(dirpath,width):
paths = glob.glob(dirpath + "/*.jpg")
paths.sort()
files = paths
x = width
y = 0
for path_base in files:
img = Image.open(path_base)
size = img.size
if size[0] <= width:
pass
else:
size[0] > width
hight = int(width / (size[0] / size[1]))
img = img.resize((width, hight))
y += img.size[1]
img.close()
new_img = Image.new('RGB', (x, y), (255, 255, 255)) # Get the splice length
x = 0
y = 0
for path_base in files:
img = Image.open(path_base)
size = img.size
x = 0
if size[0] <= width:
new_img.paste(img, (x, y + 1))
y = y + img.size[1]
else:
size[0] > width
hight = int(width / (size[0] / size[1]))
img_1 = img.resize((width, hight))
new_img.paste(img_1, (x, y + 1))
y = y + img_1.size[1]
img.close()
# dirpath = os.path.dirname(dirpath)
usefilepath = dirpath + '\\' + ' Splicing synthesis '
if os.path.exists(usefilepath):
print(' file already exist ')
else:
os.mkdir(usefilepath)
print(' Generate file directory ')
path_m = usefilepath + '\\' + '1.jpg'
new_img.save(path_m)
new_img.close
print(' Picture splicing is completed ')
def main():
print(' The main menu :\n 1. File slice \n\n 2. Picture splicing \n\n 3. Reshape cutting \n\n 4. Free stitching \n\n 5. Shut down the program \n\n')
insel = input(' Please enter the required function :')
if insel == '1':
jpgpath = input(' Please enter the path of the image you want to slice :')
if jpgpath=='':
main()
hight = int(input(' Enter the image height you want :'))
if hight=='':
main()
qiepian(jpgpath, hight)
main()
elif insel == '2':
dirpath = input(' Please enter the folder location to be spliced :')
if dirpath=='':
main()
pinjie(dirpath)
main()
elif insel == '3':
dirpath = input(' Please enter the folder location to be spliced :')
width = int(input(' Please enter the required file width :'))
hight = int(input(' Please enter the height of the file to be segmented :'))
if dirpath=='':
main()
if width=='':
main()
if width=='':
main()
chongsu(dirpath,width,hight)
main()
elif insel == '4':
dirpath = input(' Please enter the folder location to be spliced :')
width = int(input(' Please enter the required file width :'))
if dirpath=='':
main()
if width=='':
main()
zypinjie(dirpath,width)
main()
elif insel == '5':
quit()
if __name__ == '__main__':
main()
边栏推荐
- Anaconda pyhton multi version switching
- Readme, self study record
- Qu'est - ce que l'hydroxyde de sodium?
- I implement queue with C I
- How can Oracle SQL statements modify fields that are not allowed to be null to allow nulls?
- 611. 有效三角形的个数
- Database SQL practice 3. Find the current salary details of the current leaders of each department and their corresponding department number Dept_ no
- Apple script
- Simple operation of nixie tube (keil5)
- I can't stand the common annotations of idea anymore
猜你喜欢
Using GEE plug-in in QGIS
Delayqueue usage and scenarios of delay queue
arcgis_ spatialjoin
Package ‘*****‘ has no installation candidate
Matrix and TMB package version issues in R
Machine learning Seaborn visualization
Graduation thesis project local deployment practice
[idea] efficient plug-in save actions to improve your work efficiency
Rough notes of C language (2) -- constants
2022 PMP project management examination agile knowledge points (7)
随机推荐
Leetcode solution - number of islands
Miracast技术详解(一):Wi-Fi Display
Course learning accumulation ppt
Simple operation of nixie tube (keil5)
Apple terminal skills
Basic operation of external interrupt (keil5)
Efficiency difference: the add method used by the set directly and the add method used by the set after judgment
NSIS finds out whether the file exists and sets the installation path
Today, share the wonderful and beautiful theme of idea + website address
Opendrive arc drawing script
Using GEE plug-in in QGIS
What is deep learning?
Cygwin installation
Openxlsx field reading problem
static的作用
What if the DataGrid cannot see the table after connecting to the database
Package ‘*****‘ has no installation candidate
使用go语言读取txt文件写入excel中
Professional knowledge of public security -- teacher bilitong
Numpy——1.数组的创建