Я хочу получить обработку изображения, как на диаграмме ниже, см. Изображение для полного понимания
диаграмма для понимания алгоритма
КОД с КОММЕНТАРИРОВАННЫМИ ПРОБЛЕМАМИ ПРОИЗВОДСТВА
from PIL import Image
import os
from os.path import expanduser
def series():
# image_name = os.path.basename(image_path)
# getting image height and width
image_path = 'sample.jpg'
with Image.open(image_path) as img:
width = img.size[0]
height = img.size[1]
name = 0
a = width/4
i = height/a
i = int(i)
print "WIDTH:"+str(width)+" HEIGHT:"+str(height)+" A:"+str(a)+" I:"+str(i)
x1 = 0
y1 = 0
x2 = y2 = a
for x in range(i):
for y in range(4):
# saved_location = "results/" + str(name) + '.jpg'
# coords = (x1,y1,x2,y2)
# image_path = 'sample.jpg'
# imgO = Image.open(image_path)
# cropped_image = imgO.crop(coords)
# cropped_image.save(saved_location)
print "name:" + str(name) + "x1:"+str(x1)+" y1:"+str(y1)+" x2:"+str(x2)+" y2:"+str(y2) + " -- OK"
x1 = x1 + int(a)
name = name + 1
y1 = y1 + int(a)
x1 = 0
series()
ВЫВОД КОММЕНТАРИЙНОГО кода
anas@anas-XPS-12-9Q33:~/Desktop/albumTiler$ python tiler.py
WIDTH:1800 HEIGHT:1200 A:450 I:2
name:0x1:0 y1:0 x2:450 y2:450 -- OK
name:1x1:450 y1:0 x2:450 y2:450 -- OK
name:2x1:900 y1:0 x2:450 y2:450 -- OK
name:3x1:1350 y1:0 x2:450 y2:450 -- OK
name:4x1:0 y1:450 x2:450 y2:450 -- OK
name:5x1:450 y1:450 x2:450 y2:450 -- OK
name:6x1:900 y1:450 x2:450 y2:450 -- OK
name:7x1:1350 y1:450 x2:450 y2:450 -- OK
это означает, что все в коде является действующим, и ОК
ПРОБЛЕМА ЕСТЬ
при нескомментировании кода обрезает изображение из ранее обрезанного изображения при повторной обрезке во второй раз и далее Я хочу повторно открыть исходное изображениедля всех культур вставка кода без комментариев с полями для подробного объяснения
anas@anas-XPS-12-9Q33:~/Desktop/albumTiler$ python tiler.py
WIDTH:1800 HEIGHT:1200 A:450 I:2
name:0x1:0 y1:0 x2:450 y2:450 -- OK
Traceback (most recent call last):
File "tiler.py", line 33, in <module>
series()
File "tiler.py", line 26, in series
cropped_image.save(saved_location)
File "/home/anas/.local/lib/python2.7/site-packages/PIL/Image.py", line 1994, in save
save_handler(self, fp, filename)
File "/home/anas/.local/lib/python2.7/site-packages/PIL/JpegImagePlugin.py", line 761, in _save
ImageFile._save(im, fp, [("jpeg", (0, 0)+im.size, 0, rawmode)], bufsize)
File "/home/anas/.local/lib/python2.7/site-packages/PIL/ImageFile.py", line 514, in _save
e.setimage(im.im, b)
SystemError: tile cannot extend outside image