You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

169 lines
5.8 MiB
Plaintext

4 years ago
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"This tool mix together two pictures taking their edges."
]
},
{
"cell_type": "code",
"execution_count": 92,
"metadata": {},
"outputs": [],
"source": [
"from PIL import Image, ImageChops, ImageFilter\n",
"from urllib.request import urlopen"
]
},
{
"cell_type": "code",
"execution_count": 93,
"metadata": {},
"outputs": [],
"source": [
"pic1 = Image.open(r'2.png') #Pic from a file"
]
},
{
"cell_type": "code",
"execution_count": 94,
"metadata": {},
"outputs": [],
"source": [
"pic1 = Image.open(urlopen('https://d7hftxdivxxvm.cloudfront.net/?resize_to=fit&width=480&height=640&quality=80&src=https%3A%2F%2Fd32dm0rphc51dk.cloudfront.net%2FoMDDSm77JFzMIYbi81xOaw%2Flarge.jpg')) #Pic from an url"
]
},
{
"cell_type": "code",
"execution_count": 95,
"metadata": {},
"outputs": [],
"source": [
"pic2 = Image.open(r'2.png') #Pic from a file"
]
},
{
"cell_type": "code",
"execution_count": 96,
"metadata": {},
"outputs": [],
"source": [
"pic2 = Image.open(urlopen('https://publicdelivery.b-cdn.net/wp-content/uploads/2020/01/Thomas-Ruff-Portrait-E.-Zapp-1990-scaled.jpg')) #Pic from an url"
]
},
{
"cell_type": "code",
"execution_count": 97,
"metadata": {},
"outputs": [],
"source": [
"pic1 = pic1.convert(\"L\").filter(ImageFilter.FIND_EDGES).filter(ImageFilter.Kernel((3, 3), (1, -3, -1, -1, 8, -1, 8, -1, -1), 1, 2)) #Create edges\n",
"pic2 = pic2.convert(\"L\").filter(ImageFilter.FIND_EDGES).filter(ImageFilter.Kernel((3, 3), (9, -3, -1, -1, 8, -1, 8, -1, -1), 1, 10)) "
]
},
{
"cell_type": "code",
"execution_count": 98,
"metadata": {},
"outputs": [],
"source": [
"size1 = pic1.size\n",
"size2 = pic2.size\n",
"\n",
"if size1 > size2: #make sizes of pics the same\n",
" pic2 = pic2.resize(size1)\n",
"elif size2 > size1:\n",
" pic1 = pic1.resize(size2)"
]
},
{
"cell_type": "code",
"execution_count": 99,
"metadata": {},
"outputs": [],
"source": [
"pics = ImageChops.screen(pic1, pic2) #Mix the pics!"
]
},
{
"cell_type": "code",
"execution_count": 100,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<PIL.Image.Image image mode=L size=1600x2136 at 0x7FBB49667AC8>"
]
},
"execution_count": 100,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pics"
]
},
{
"cell_type": "code",
"execution_count": 91,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<PIL.Image.Image image mode=L size=1600x2136 at 0x7FBB4967C400>"
]
},
"execution_count": 91,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pics = pics.save('mix.jpg') #Save the mix"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"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.8.6"
}
},
"nbformat": 4,
"nbformat_minor": 4
}