bipolaroid/src/editor/operations/get_colour_lut.ipynb
2024-06-18 22:08:48 +01:00

93 lines
52 KiB
Text

{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 500x300 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"import numpy as np\n",
"import sys\n",
"\n",
"sys.path.insert(0, \"../../\")\n",
"from editor.operations import get_random_saturation_per_hue_lut\n",
"\n",
"\n",
"plt.figure(figsize=(5, 3))\n",
"plt.plot(\n",
" np.linspace(0, 256, 256),\n",
" get_random_saturation_per_hue_lut(),\n",
")\n",
"plt.xlabel(\"Hue\")\n",
"plt.ylabel(\"Saturation coefficient\")\n",
"plt.grid(True)"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"metadata": {}
},
"outputs": [
{
"data": {
"image/png": "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",
"text/plain": [
"<Figure size 500x300 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"from editor.utils import get_random_brightness_lut\n",
"\n",
"\n",
"plt.figure(figsize=(5, 3))\n",
"plt.plot(\n",
" np.linspace(0, 256, 256),\n",
" get_random_brightness_lut(),\n",
")\n",
"plt.ylim(0, 255)\n",
"plt.xlabel(\"Original brightness\")\n",
"plt.ylabel(\"New brightness\")\n",
"plt.grid(True)"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "bipolaroid",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.12.2"
}
},
"nbformat": 4,
"nbformat_minor": 2
}