当前位置:网站首页>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()
边栏推荐
- I can't stand the common annotations of idea anymore
- Idea to view the source code of jar package and some shortcut keys (necessary for reading the source code)
- P3D gauge size problem
- D2L installation
- static的作用
- 剑指 Offer 56 数组中数字出现的次数(异或)
- Don't confuse the use difference between series / and / *
- NSIS search folder
- arcgis_ spatialjoin
- How can Oracle SQL statements modify fields that are not allowed to be null to allow nulls?
猜你喜欢

行测--资料分析--fb--高照老师

(tool use) how to make the system automatically match and associate to database fields by importing MySQL from idea and writing SQL statements

SQL JOINS

Ugnx12.0 initialization crash, initialization error (-15)

I 用c l 栈与队列的相互实现

Self summary of college life - freshman
![[idea] efficient plug-in save actions to improve your work efficiency](/img/6e/49037333964865d9900ddf5698f7e6.jpg)
[idea] efficient plug-in save actions to improve your work efficiency

Light up the running light, rough notes for beginners (1)

Matrix and TMB package version issues in R

Word import literature -mendeley
随机推荐
Batch convert txt to excel format
QT small case "addition calculator"
Microservice registry Nacos introduction
Simple operation with independent keys (hey, a little fancy) (keil5)
The SQL implementation has multiple records with the same ID, and the latest one is taken
Import CV2, prompt importerror: libcblas so. 3: cannot open shared object file: No such file or directory
纯碱是做什么的?
Idea to view the source code of jar package and some shortcut keys (necessary for reading the source code)
Efficiency difference: the add method used by the set directly and the add method used by the set after judgment
Cygwin installation
[idea] common shortcut keys
arcpy. SpatialJoin_ Analysis spatial connection analysis
Miracast技术详解(一):Wi-Fi Display
Thunderbird tutorial \ easy to use mail client
行测--资料分析--fb--高照老师
I implement queue with C I
DataGrid offline installation of database driver
ModuleNotFoundError: No module named ‘picamera‘
Raspberry pie 4B arm platform aarch64 PIP installation pytorch
苏打粉是什么?