import os
from PIL import Image
from PIL import ImageFile
ImageFile.LOAD_TRUNCATED_IMAGES = True
import numpy as np
os.system("mkdir bpg")
os.system("mkdir png")
os.system("mkdir rgb_residual")
path = os.listdir('./')
i = 1
for fn in path:
if fn.endswith(".png"):
fd1 = os.path.join('./', fn)
fd2 = os.path.join('./png', fn)
sh1 = "bpgenc -b 8 -q 51 " + fd1 + " -o ./bpg/" + fn[:-4] +".bpg"
sh2 = "bpgdec ./bpg/" + fn[:-4] +".bpg" + " -o ./png/" + fn[:-4] +".png"
sh3 = "rm -rf " + "./bpg/" + fn[:-4] +".bpg"
sh4 = "rm -rf " + fd2
os.system(sh1)
os.system(sh2)
src1 = Image.open(fd1).convert('RGB')
src2 = Image.open(fd2).convert('RGB')
rgb1 = np.array(src1)
rgb2 = np.array(src2)
filename = os.path.join('./rgb_residual', fn)
rgb = rgb2 - rgb1 + 128
cv2.imwrite(filename, rgb)
i += 1
if i%10 == 0:
print(i)
os.system(sh3)
os.system(sh4)