Test scripts
This commit is contained in:
parent
0e30e652dd
commit
feb3ca36e6
2 changed files with 58 additions and 0 deletions
8
compare_images_pixels.py
Normal file
8
compare_images_pixels.py
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
from PIL import Image, ImageCms
|
||||||
|
|
||||||
|
from crop_card import BASE_DIR
|
||||||
|
|
||||||
|
with Image.open(BASE_DIR / 'sheets' / 'sheet001.jpg') as im:
|
||||||
|
print(im.getpixel((5151, 9996)))
|
||||||
|
with Image.open(BASE_DIR / 'sheets' / 'sheet003_corrected.jpg') as im:
|
||||||
|
print(im.getpixel((5151, 9996)))
|
||||||
50
gamut.py
Normal file
50
gamut.py
Normal file
|
|
@ -0,0 +1,50 @@
|
||||||
|
import colorsys
|
||||||
|
|
||||||
|
from PIL import Image, ImageDraw, ImageCms
|
||||||
|
|
||||||
|
import math
|
||||||
|
|
||||||
|
from crop_card import BASE_DIR
|
||||||
|
|
||||||
|
|
||||||
|
def clamp(v, min_v, max_v):
|
||||||
|
return max(min_v, min(max_v, v))
|
||||||
|
|
||||||
|
|
||||||
|
# im = Image.new('RGB', (4096, 4096))
|
||||||
|
# d = ImageDraw.Draw(im)
|
||||||
|
# for y in range(4096):
|
||||||
|
# for x in range(4096):
|
||||||
|
# r = x // 16
|
||||||
|
# g = y // 16
|
||||||
|
# b = 0
|
||||||
|
# d.point((x, y), fill = (r, g, b))
|
||||||
|
|
||||||
|
im = Image.new('RGB', (1024, 1024))
|
||||||
|
d = ImageDraw.Draw(im)
|
||||||
|
center = 1024 / 2
|
||||||
|
radius = 1024 / 2
|
||||||
|
for y in range(1024):
|
||||||
|
for x in range(1024):
|
||||||
|
h = (math.atan2(y - center, x - center) + math.pi) / (math.pi * 2)
|
||||||
|
h = clamp(h, 0, 1)
|
||||||
|
distance_from_center = (abs(x - center) ** 2 + abs(y - center) ** 2) ** 0.5
|
||||||
|
s = distance_from_center / radius
|
||||||
|
if s > 1:
|
||||||
|
v = 0
|
||||||
|
else:
|
||||||
|
v = 1
|
||||||
|
s = clamp(s, 0, 1)
|
||||||
|
r, g, b = colorsys.hsv_to_rgb(h, s, v)
|
||||||
|
rgb = (
|
||||||
|
clamp(round(r * 255), 0, 255),
|
||||||
|
clamp(round(g * 255), 0, 255),
|
||||||
|
clamp(round(b * 255), 0, 255),
|
||||||
|
)
|
||||||
|
d.point((x, y), fill = rgb)
|
||||||
|
|
||||||
|
im = im.convert('RGB')
|
||||||
|
icc_profile = ImageCms.getOpenProfile(str(BASE_DIR / 'icc' / 'AdobeRGB1998.icc'))
|
||||||
|
im.save(BASE_DIR / 'archive' / 'gamut_srgb.jpg', 'JPEG', quality=100, subsampling=0)
|
||||||
|
im.save(BASE_DIR / 'archive' / 'gamut_icc.jpg', 'JPEG', quality=100, subsampling=0, icc_profile=icc_profile.tobytes())
|
||||||
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue