main
Jan-Niclas Loosen 8 months ago
parent 49f63e7dad
commit ec66e7d14c

@ -1,7 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<content url="file://$MODULE_DIR$">
<excludeFolder url="file://$MODULE_DIR$/Virtualenv" />
</content>
<orderEntry type="jdk" jdkName="C:\ProgramData\anaconda3" jdkType="Python SDK" />
<orderEntry type="sourceFolder" forTests="false" />
</component>

@ -5,8 +5,9 @@
</component>
<component name="ChangeListManager">
<list default="true" id="c8162e9c-0010-43df-bfbc-c294a3a64a5d" name="Changes" comment="">
<change afterPath="$PROJECT_DIR$/ha_07/lokomotive.png" afterDir="false" />
<change afterPath="$PROJECT_DIR$/ha_07/loosen_janniclas_1540907_08.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/ha_08/loosen_janniclas_1540907_09.py" afterDir="false" />
<change afterPath="$PROJECT_DIR$/ha_08/next_generation.jpg" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/UNI_Python.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/UNI_Python.iml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />
@ -43,12 +44,13 @@
<recent name="C:\Universitaet\UNI_Python\ha_06" />
</key>
<key name="MoveFile.RECENT_KEYS">
<recent name="C:\Universitaet\UNI_Python\ha_08" />
<recent name="C:\Universitaet\UNI_Python\ha_07" />
<recent name="C:\Universitaet\UNI_Python\ha_04" />
</key>
</component>
<component name="RunManager" selected="Python.loosen_janniclas_1540907_08">
<configuration name="loosen_janniclas_1540907_03" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<component name="RunManager" selected="Python.loosen_janniclas_1540907_09">
<configuration name="loosen_janniclas_1540907_07" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="UNI_Python" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
@ -56,12 +58,12 @@
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/ha_02" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/ha_06" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/ha_02/loosen_janniclas_1540907_03.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/ha_06/loosen_janniclas_1540907_07.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
@ -70,7 +72,7 @@
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="loosen_janniclas_1540907_06" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<configuration name="loosen_janniclas_1540907_08" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="UNI_Python" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
@ -78,12 +80,12 @@
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/ha_05" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/ha_07" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/ha_05/loosen_janniclas_1540907_06.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/ha_07/loosen_janniclas_1540907_08.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
@ -92,7 +94,7 @@
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="loosen_janniclas_1540907_07" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<configuration name="loosen_janniclas_1540907_09" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="UNI_Python" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
@ -100,12 +102,12 @@
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/ha_06" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/ha_08" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/ha_06/loosen_janniclas_1540907_07.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/ha_08/loosen_janniclas_1540907_09.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
@ -114,7 +116,7 @@
<option name="INPUT_FILE" value="" />
<method v="2" />
</configuration>
<configuration name="loosen_janniclas_1540907_08" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<configuration name="test" type="PythonConfigurationType" factoryName="Python" temporary="true" nameIsGenerated="true">
<module name="UNI_Python" />
<option name="INTERPRETER_OPTIONS" value="" />
<option name="PARENT_ENVS" value="true" />
@ -122,12 +124,12 @@
<env name="PYTHONUNBUFFERED" value="1" />
</envs>
<option name="SDK_HOME" value="" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/ha_07" />
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/phising" />
<option name="IS_MODULE_SDK" value="true" />
<option name="ADD_CONTENT_ROOTS" value="true" />
<option name="ADD_SOURCE_ROOTS" value="true" />
<EXTENSION ID="PythonCoverageRunConfigurationExtension" runner="coverage.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/ha_07/loosen_janniclas_1540907_08.py" />
<option name="SCRIPT_NAME" value="$PROJECT_DIR$/phising/test.py" />
<option name="PARAMETERS" value="" />
<option name="SHOW_COMMAND_LINE" value="false" />
<option name="EMULATE_TERMINAL" value="false" />
@ -153,11 +155,11 @@
</configuration>
<recent_temporary>
<list>
<item itemvalue="Python.loosen_janniclas_1540907_09" />
<item itemvalue="Python.test" />
<item itemvalue="Python.loosen_janniclas_1540907_08" />
<item itemvalue="Python tests.Python tests in loosen_janniclas_1540907_08.py" />
<item itemvalue="Python.loosen_janniclas_1540907_07" />
<item itemvalue="Python.loosen_janniclas_1540907_06" />
<item itemvalue="Python.loosen_janniclas_1540907_03" />
</list>
</recent_temporary>
</component>
@ -179,6 +181,8 @@
<workItem from="1702139628432" duration="605000" />
<workItem from="1702234189891" duration="15000" />
<workItem from="1702839799586" duration="8899000" />
<workItem from="1703717324053" duration="344000" />
<workItem from="1704450546759" duration="12235000" />
</task>
<servers />
</component>
@ -186,11 +190,13 @@
<option name="version" value="3" />
</component>
<component name="com.intellij.coverage.CoverageDataManagerImpl">
<SUITE FILE_PATH="coverage/UNI_Python$test.coverage" NAME="test Coverage Results" MODIFIED="1703717628775" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/phising" />
<SUITE FILE_PATH="coverage/UNI_Python$loosen_janniclas_1540907_05.coverage" NAME="loosen_janniclas_1540907_05 Coverage Results" MODIFIED="1701179684140" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/ha_04" />
<SUITE FILE_PATH="coverage/UNI_Python$loosen_janniclas_1540907_03.coverage" NAME="loosen_janniclas_1540907_03 Coverage Results" MODIFIED="1701179808579" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/ha_02" />
<SUITE FILE_PATH="coverage/UNI_Python$.coverage" NAME=" Coverage Results" MODIFIED="1702844032914" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/ha_07" />
<SUITE FILE_PATH="coverage/UNI_Python$loosen_janniclas_1540907_06.coverage" NAME="loosen_janniclas_1540907_06 Coverage Results" MODIFIED="1701787405612" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/ha_05" />
<SUITE FILE_PATH="coverage/UNI_Python$loosen_janniclas_1540907_08.coverage" NAME="loosen_janniclas_1540907_08 Coverage Results" MODIFIED="1702853587791" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/ha_07" />
<SUITE FILE_PATH="coverage/UNI_Python$loosen_janniclas_1540907_07.coverage" NAME="loosen_janniclas_1540907_07 Coverage Results" MODIFIED="1702140187482" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/ha_06" />
<SUITE FILE_PATH="coverage/UNI_Python$loosen_janniclas_1540907_09.coverage" NAME="loosen_janniclas_1540907_09 Coverage Results" MODIFIED="1704469430043" SOURCE_PROVIDER="com.intellij.coverage.DefaultCoverageFileProvider" RUNNER="coverage.py" COVERAGE_BY_TEST_ENABLED="true" COVERAGE_TRACING_ENABLED="false" WORKING_DIRECTORY="$PROJECT_DIR$/ha_08" />
</component>
</project>

Binary file not shown.

After

Width:  |  Height:  |  Size: 84 KiB

@ -0,0 +1,98 @@
import requests
from PIL import Image
import numpy as np
from io import BytesIO
from matplotlib import pyplot as plt
import plotly.graph_objects as go
def apply_convolution_operator(operator, image):
if isinstance(image, str):
image = Image.open(image)
if isinstance(image, Image.Image):
x_pixel, y_pixel = image.size
# turn into editable list of colors
data = np.asarray(image, dtype=np.uint8)
# storage for the convoluted image
data_new = np.zeros([y_pixel, x_pixel, 3], dtype=np.uint8)
for i in range(1, y_pixel - 1):
for j in range(1, x_pixel - 1):
for k in range(3):
new_value = (
operator[0, 0] * data[i - 1, j - 1, k] +
operator[0, 1] * data[i - 1, j, k] +
operator[0, 2] * data[i - 1, j + 1, k] +
operator[1, 0] * data[i, j - 1, k] +
operator[1, 1] * data[i, j, k] +
operator[1, 2] * data[i, j + 1, k] +
operator[2, 0] * data[i + 1, j - 1, k] +
operator[2, 1] * data[i + 1, j, k] +
operator[2, 2] * data[i + 1, j + 1, k]
)
new_value = max(0, min(new_value, 255))
data_new[i, j, k] = new_value
return Image.fromarray(data_new)
else:
raise TypeError("Not a valid instance of Image.Image")
g1 = np.array([
[0, 1, 0],
[0, 0, 0],
[0, -1, 0]
])
g2 = np.array([
[1, 0, 0],
[0, 0, 0],
[0, 0, -1]
])
g3 = np.array([
[0, 0, 0],
[1, 0, -1],
[0, 0, 0]
])
g4 = np.array([
[0, 0, 1],
[0, 0, 0],
[-1, 0, 0]
])
identity = np.array([
[0, 0, 0],
[0, 1, 0],
[0, 0, 0]
])
laplace = np.array([
[0, 1, 0],
[1, -4, 1],
[0, 1, 0]
])
"""
url = "https://cdn.prod.www.spiegel.de/images/9f9be1b3-ac0e-49f9-acbd-a809a102f9b6_w960_r1.778_fpx39_fpy30.jpg"
response = requests.get(url)
if response.status_code == 200:
# image = Image.open(BytesIO(response.content))
image = Image.open("next_generation.jpg")
operators = [laplace]
edited_image = image
for operator in operators:
edited_image = apply_convolution_operator(operator, edited_image)
edited_image = edited_image.convert("RGB") # Convert to RGB mode
edited_image.show()
edited_image.save("edited.jpg")
else:
print(f"Failed to download image. Status code: {response.status_code}")
"""
class Simulation:

Binary file not shown.

After

Width:  |  Height:  |  Size: 98 KiB

Loading…
Cancel
Save