当前位置:网站首页>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()
边栏推荐
- What is deep learning?
- Chapter 2: try to implement a simple bean container
- Idea common settings
- P3D gauge size problem
- Self summary of college life - freshman
- And play the little chestnut of dynamic agent
- Professional knowledge of public security -- teacher bilitong
- editplus
- Matrix and TMB package version issues in R
- NPM and package common commands
猜你喜欢

How to delete the virus of inserting USB flash disk copy of shortcut to

Set theory of Discrete Mathematics (I)

What is deep learning?

SQL JOINS

Idea to view the source code of jar package and some shortcut keys (necessary for reading the source code)

CADD课程学习(6)-- 获得已有的虚拟化合物库(Drugbank、ZINC)

I 用c I 实现队列

【idea】Could not autowire. No beans of xxx type found

Close of office 365 reading

Today, share the wonderful and beautiful theme of idea + website address
随机推荐
Deepin, help ('command ') output saved to file
Apple system shortcut key usage
CADD课程学习(6)-- 获得已有的虚拟化合物库(Drugbank、ZINC)
并查集理论讲解和代码实现
Opendrive ramp
From then on, I understand convolutional neural network (CNN)
Self summary of college life - freshman
Pytorch has been installed in anaconda, and pycharm normally runs code, but vs code displays no module named 'torch‘
Exit of pyGame, idle and pycharm
2022 PMP project management examination agile knowledge points (7)
Apple input method optimization
When jupyter notebook is encountered, erroe appears in the name and is not output after running, but an empty line of code is added downward, and [] is empty
What does soda ash do?
Oracle-触发器和程序包
Apple animation optimization
golang定时器使用踩的坑:定时器每天执行一次
Openxlsx field reading problem
selenium 元素定位
Charles- unable to grab bags and surf the Internet
Logistic regression: the most basic neural network