当前位置:网站首页>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()
边栏推荐
- Process (P) runs, and idle is different from pycharm
- Apple input method optimization
- selenium 元素定位
- What is sodium hydroxide?
- Deepin get file (folder) list
- Selenium element positioning
- Pagoda create multiple sites with one server
- Pytorch has been installed in anaconda, and pycharm normally runs code, but vs code displays no module named 'torch‘
- 纯碱是做什么的?
- Ggplot2 drawing learning notes in R
猜你喜欢

并查集理论讲解和代码实现

I implement queue with C I

Ue5 hot update - remote server automatic download and version detection (simplehotupdate)

And let's play dynamic proxy (extreme depth version)

DataGrid offline installation of database driver

II Simple NSIS installation package

Shadowless cloud desktop - online computer

Microservice registry Nacos introduction

Daily Practice:Codeforces Round #794 (Div. 2)(A~D)

HDU1232 畅通工程(并查集)
随机推荐
With the help of Navicat for MySQL software, the data of a database table in different or the same database link is copied to another database table
Rough notes of C language (1)
Basic knowledge of public security -- FB
HDU1231 最大连续子序列(分治or动规or双指针)
(top) pretty girl binary color code portal
Close of office 365 reading
Word import literature -mendeley
Unforgettable summary of 2021
Play with grpc - go deep into concepts and principles
cygwin
2022 PMP project management examination agile knowledge points (7)
Pytorch has been installed in anaconda, and pycharm normally runs code, but vs code displays no module named 'torch‘
Chapter 2: try to implement a simple bean container
Miracast技术详解(一):Wi-Fi Display
I implement queue with C I
I 用c I 实现队列
arcgis_ spatialjoin
Deepin get file (folder) list
The number of occurrences of numbers in the offer 56 array (XOR)
Professional knowledge of public security -- teacher bilitong