π§π ΠΠ°ΠΊ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½ Π² ΠΏΠΈΡΠΎΠ½Π΅: ΠΏΠΎΡΠ°Π³ΠΎΠ²ΡΠΉ Π³ΠΈΠ΄ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ
ΠΠ»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π° Π² Python Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ Matplotlib. ΠΠΎΡ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
import matplotlib.pyplot as plt
# ΠΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π²Π΅ΡΡΠΈΠ½ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π°
x = [1, 2, 3, 2, 1]
y = [1, 2, 1, 0, 1]
# ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π°
plt.plot(x, y)
plt.fill(x, y, alpha=0.3)
# ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π°
plt.show()
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΏΠΈΡΠΊΠΈ x ΠΈ y Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ°ΠΌΠΈ Π²Π΅ΡΡΠΈΠ½ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π°. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ plot
Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ Π»ΠΈΠ½ΠΈΠΉ ΠΌΠ΅ΠΆΠ΄Ρ Π²Π΅ΡΡΠΈΠ½Π°ΠΌΠΈ ΠΈ ΡΡΠ½ΠΊΡΠΈΡ fill
Π΄Π»Ρ Π·Π°ΠΊΡΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΠΊΠΎΠ½ΡΡΡΠ° ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π°. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ show
Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π°.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ ΠΏΠΎΡΡΡΠΎΠΈΡΡ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½ Π² ΠΏΠΈΡΠΎΠ½Π΅
ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π° Π² Python ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ Π²Π°ΠΆΠ½ΡΠΌ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠΌ Π΄Π»Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΠΈ ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π·Π°Π΄Π°Ρ. Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΎΠ² ΠΊ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π° Π² Python ΠΈ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΠΈΠΌ Π²Π°ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π°.
1. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Matplotlib
Matplotlib - ΡΡΠΎ ΠΏΠΎΠΏΡΠ»ΡΡΠ½Π°Ρ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Π΄Π»Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ Π² Python. ΠΠ½Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΠ°Π·Π»ΠΈΡΠ½ΡΠ΅ ΡΡΠ½ΠΊΡΠΈΠΈ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ Π³ΡΠ°ΡΠΈΠΊΠΎΠ², Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Ρ.
import matplotlib.pyplot as plt
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ x ΠΈ y Π΄Π»Ρ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π°
x = [1, 2, 3, 4, 5]
y = [1, 3, 2, 4, 5]
# ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π°
plt.plot(x, y, 'r--')
# ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π³ΡΠ°ΡΠΈΠΊΠ°
plt.show()
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ Π΄Π²Π° ΡΠΏΠΈΡΠΊΠ°, x ΠΈ y, ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠ΄Π΅ΡΠΆΠ°Ρ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠΎΡΠ΅ΠΊ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π°. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ plot()
ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Matplotlib Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π° Ρ ΠΊΡΠ°ΡΠ½ΠΎΠΉ ΠΏΡΠ½ΠΊΡΠΈΡΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ show()
, ΡΡΠΎΠ±Ρ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ Π³ΡΠ°ΡΠΈΠΊ.
2. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Turtle
ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Turtle ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ Π³ΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π²ΠΊΠ»ΡΡΠ°Ρ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Ρ. ΠΠ½Π° ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎ ΠΏΠΎΠ»Π΅Π·Π½Π° Π² ΠΎΠ±ΡΡΠ΅Π½ΠΈΠΈ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π΄Π»Ρ Π½Π°ΡΠΈΠ½Π°ΡΡΠΈΡ .
import turtle
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° ΡΠ΅ΡΠ΅ΠΏΠ°Ρ
ΠΈ
t = turtle.Turtle()
# ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π°
for _ in range(4):
t.forward(100)
t.right(90)
# ΠΠ°ΠΊΡΡΡΠΈΠ΅ ΡΠΊΡΠ°Π½Π°
turtle.done()
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΡΠΎΠ·Π΄Π°Π΅ΠΌ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΡΠ΅ΡΠ΅ΠΏΠ°Ρ
ΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡ ΡΡΠ½ΠΊΡΠΈΡ Turtle()
ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ Turtle. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΠΈΠΊΠ» for
Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΊΠ²Π°Π΄ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π° Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΊΠΎΠΌΠ°Π½Π΄ forward()
ΠΈ right()
. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ Π²ΡΠ·ΡΠ²Π°Π΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ done()
Π΄Π»Ρ Π·Π°ΠΊΡΡΡΠΈΡ ΡΠΊΡΠ°Π½Π°.
3. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ OpenCV
OpenCV - ΡΡΠΎ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π·ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π° Π² Python.
import cv2
import numpy as np
# Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
image = np.zeros((400, 400, 3), dtype="uint8")
# ΠΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π²Π΅ΡΡΠΈΠ½ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π°
pts = np.array([[50, 50], [50, 200], [200, 200], [200, 50]], np.int32)
# ΠΠΎΡΡΡΠΎΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π°
cv2.polylines(image, [pts], True, (0, 255, 0), thickness=2)
# ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ
cv2.imshow("Polygon", image)
cv2.waitKey(0)
cv2.destroyAllWindows()
Π ΡΡΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ zeros()
ΠΈΠ· Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ NumPy Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠΌ 400x400. ΠΠ°ΡΠ΅ΠΌ ΠΌΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΠ΅ΠΌ Π²Π΅ΡΡΠΈΠ½Ρ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π° Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ pts
. Π‘ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ polylines()
ΠΌΡ ΡΡΡΠΎΠΈΠΌ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ
Π²Π΅ΡΡΠΈΠ½. ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΡ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π΅ΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΡΠ½ΠΊΡΠΈΠΉ imshow()
, waitKey()
ΠΈ destroyAllWindows()
.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅ ΠΌΡ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π»ΠΈ ΡΡΠΈ ΡΠΏΠΎΡΠΎΠ±Π° ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π° Π² Python Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ΠΌ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Matplotlib ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΠΌΠ½ΠΎΠΆΠ΅ΡΡΠ²ΠΎ ΡΡΠ½ΠΊΡΠΈΠΉ Π΄Π»Ρ Π²ΠΈΠ·ΡΠ°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ , Π²ΠΊΠ»ΡΡΠ°Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π°. ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° Turtle Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ ΠΎΠ±ΡΡΠ΅Π½ΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠΈΡΠΎΠ²Π°Π½ΠΈΡ, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Π΄Π»Ρ ΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½ΠΎΠ². ΠΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ° OpenCV ΠΏΡΠ΅Π΄Π½Π°Π·Π½Π°ΡΠ΅Π½Π° Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ ΠΌΠΎΠΆΠ΅Ρ Π±ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½Π° Π΄Π»Ρ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½ΠΎΠ² Π½Π° ΡΠ΅ΡΠ½ΠΎΠΌ ΡΠΎΠ½Π΅.
ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΡΠΈ ΠΏΡΠΈΠΌΠ΅ΡΡ ΠΊΠΎΠ΄Π° Π² ΡΠ²ΠΎΠΈΡ ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ ΠΈ ΡΠΊΡΠΏΠ΅ΡΠΈΠΌΠ΅Π½ΡΠ°Ρ Ρ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½Π°ΠΌΠΈ Π² Python!