π Π Π΅ΠΆΠΈΠΌ PIP ΠΈ PBP: Π§ΡΠΎ ΡΡΠΎ ΠΈ ΠΊΠ°ΠΊ ΡΡΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ? π€
Π Π΅ΠΆΠΈΠΌ PIP (Picture In Picture) ΠΈ PBP (Picture By Picture) ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΡΡ Π² ΠΌΠΎΠ½ΠΈΡΠΎΡΠ°Ρ Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ² ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ.
Π Π΅ΠΆΠΈΠΌ PIP ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π²ΡΠΎΡΠΎΠ΅ ΠΎΠΊΠ½ΠΎ (ΠΎΠ±ΡΡΠ½ΠΎ Π²ΠΈΠ΄Π΅ΠΎ ΠΈΠ»ΠΈ ΠΊΠ°ΡΡΠΈΠ½ΠΊΡ) Π² ΡΠ³Π»Ρ Π³Π»Π°Π²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
import cv2
# ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° Π²ΠΈΠ΄Π΅ΠΎ
cap_main = cv2.VideoCapture(0)
# ΠΠ°Π³ΡΡΠ·ΠΊΠ° Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° Π²ΠΈΠ΄Π΅ΠΎ
cap_pip = cv2.VideoCapture('second_video.mp4')
while True:
# Π§ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°Π΄ΡΠ° ΠΈΠ· ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°
ret, frame_main = cap_main.read()
# Π§ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°Π΄ΡΠ° ΠΈΠ· ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° PIP
ret, frame_pip = cap_pip.read()
# Π Π°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΊΠ½Π° PIP Π² ΡΠ³Π»Ρ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°
frame_main[0:200, 0:200] = frame_pip
# ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΊΠ½Π° Ρ PIP
cv2.imshow('PIP', frame_main)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# ΠΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ²
cap_main.release()
cap_pip.release()
cv2.destroyAllWindows()
Π Π΅ΠΆΠΈΠΌ PBP, Ρ Π΄ΡΡΠ³ΠΎΠΉ ΡΡΠΎΡΠΎΠ½Ρ, ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π΄Π²Π° ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° Π² ΠΏΠΎΠ»Π½ΠΎΡΠΊΡΠ°Π½Π½ΠΎΠΌ ΡΠ΅ΠΆΠΈΠΌΠ΅ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ, ΡΠ°Π·Π΄Π΅Π»ΡΡ ΡΠΊΡΠ°Π½ ΠΏΠΎΠΏΠΎΠ»Π°ΠΌ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ:
import cv2
# ΠΠ°Π³ΡΡΠ·ΠΊΠ° ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° Π²ΠΈΠ΄Π΅ΠΎ
cap_1 = cv2.VideoCapture('first_video.mp4')
# ΠΠ°Π³ΡΡΠ·ΠΊΠ° Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° Π²ΠΈΠ΄Π΅ΠΎ
cap_2 = cv2.VideoCapture('second_video.mp4')
while True:
# Π§ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°Π΄ΡΠ° ΠΈΠ· ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°
ret, frame_1 = cap_1.read()
# Π§ΡΠ΅Π½ΠΈΠ΅ ΠΊΠ°Π΄ΡΠ° ΠΈΠ· Π²ΡΠΎΡΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ°
ret, frame_2 = cap_2.read()
# ΠΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΠ΅ Π΄Π²ΡΡ
ΠΊΠ°Π΄ΡΠΎΠ² Π² ΠΎΠ΄ΠΈΠ½
frame_combined = np.hstack((frame_1, frame_2))
# ΠΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½Π΅Π½Π½ΠΎΠ³ΠΎ ΠΊΠ°Π΄ΡΠ°
cv2.imshow('PBP', frame_combined)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
# ΠΡΠ²ΠΎΠ±ΠΎΠΆΠ΄Π΅Π½ΠΈΠ΅ ΡΠ΅ΡΡΡΡΠΎΠ²
cap_1.release()
cap_2.release()
cv2.destroyAllWindows()
Π’Π°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΠ΅ΠΆΠΈΠΌ PIP ΠΈ PBP ΠΏΠΎΠ·Π²ΠΎΠ»ΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ ΠΈΠ½ΡΠ΅ΡΠ΅ΡΠ½ΡΠ΅ ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΡΠ΅ ΠΊΠΎΠΌΠ±ΠΈΠ½Π°ΡΠΈΠΈ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ°.
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
Π Π΅ΠΆΠΈΠΌ PIP (Picture-in-Picture) ΠΈΠ»ΠΈ ΡΠ΅ΠΆΠΈΠΌ PBP (Picture-by-Picture) - ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΡΠ΄ΠΎΠ±Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΌΡΠ»ΡΡΠΈΠΌΠ΅Π΄ΠΈΠΉΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ΅ ΠΈΠ»ΠΈ ΡΠ΅Π»Π΅Π²ΠΈΠ·ΠΎΡΠ΅. ΠΠ°Π²Π°ΠΉΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΠ΅ΠΆΠΈΠΌ ΠΏΠΎΠ΄ΡΠΎΠ±Π½Π΅Π΅.
Π Π΅ΠΆΠΈΠΌ PIP (Picture-in-Picture)
PIP - ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Π² ΡΠΌΠ΅Π½ΡΡΠ΅Π½Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ (Π³Π»Π°Π²Π½ΠΎΠ΅ ΠΎΠΊΠ½ΠΎ), ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ ΠΏΡΠΎΡΠΌΠΎΡΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠΌΠΎΡΡΠ΅ΡΡ ΡΡΡΠ±ΠΎΠ»ΡΠ½ΡΠΉ ΠΌΠ°ΡΡ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅, Π° Π² ΡΠ³Π»Ρ ΡΠΊΡΠ°Π½Π° Π²ΠΈΠ΄Π΅ΡΡ ΠΌΠ°Π»Π΅Π½ΡΠΊΠΎΠ΅ ΠΎΠΊΠ½ΠΎ Ρ Π½ΠΎΠ²ΠΎΡΡΠ½ΡΠΌ ΠΊΠ°Π½Π°Π»ΠΎΠΌ.
Π§ΡΠΎΠ±Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅ΠΆΠΈΠΌ PIP, Π²Π°Ρ ΠΌΠΎΠ½ΠΈΡΠΎΡ ΠΈΠ»ΠΈ ΡΠ΅Π»Π΅Π²ΠΈΠ·ΠΎΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Ρ Π²Π°Ρ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ Π΄Π²Π° ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. ΠΠ±ΡΡΠ½ΠΎ ΡΡΠΎ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠΈ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ° ΠΈΠ»ΠΈ ΡΠ΅Π»Π΅Π²ΠΈΠ·ΠΎΡΠ° Ρ ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ PIP.
ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π° Π½Π° Python, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ΅ΠΆΠΈΠΌΠΎΠΌ PIP:
# ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΡ
ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ
import cv2
# ΠΎΡΠΊΡΡΡΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎΠΏΠΎΡΠΎΠΊΠ°
video_stream = cv2.VideoCapture('video.mp4')
# ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°
video_stream.set(cv2.CAP_PROP_FRAME_WIDTH, 1280)
video_stream.set(cv2.CAP_PROP_FRAME_HEIGHT, 720)
# ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠ° ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΠΎΠΊΠ½Π° PIP
video_stream.set(cv2.CAP_PROP_PIP_WINDOW_WIDTH, 320)
video_stream.set(cv2.CAP_PROP_PIP_WINDOW_HEIGHT, 180)
while video_stream.isOpened():
ret, frame = video_stream.read()
if not ret:
break
# ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠ³ΠΎ ΠΎΠΊΠ½Π°
cv2.imshow('Main Window', frame)
# ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΎΠΊΠ½Π° PIP
cv2.imshow('PIP Window', frame)
if cv2.waitKey(1) & 0xFF == ord('q'):
break
video_stream.release()
cv2.destroyAllWindows()
ΠΡΠΎ ΠΏΡΠΎΡΡΠΎΠΉ ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠΈΡΡΠ΅Ρ ΠΎΡΠΊΡΡΡΠΈΠ΅ Π²ΠΈΠ΄Π΅ΠΎΠΏΠΎΡΠΎΠΊΠ° ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π΅Π³ΠΎ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅ ΠΈ ΠΎΠΊΠ½Π΅ PIP. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π½Π°ΡΡΡΠΎΠΈΡΡ ΡΠ°Π·ΠΌΠ΅ΡΡ ΠΈ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΎΠΊΠ½Π° PIP ΠΏΠΎ Π²Π°ΡΠ΅ΠΌΡ ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ.
Π Π΅ΠΆΠΈΠΌ PBP (Picture-by-Picture)
PBP - ΡΡΠΎ ΡΡΠ½ΠΊΡΠΈΡ, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π΄Π²Π° ΡΠ°Π·Π½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡΠΊΡΠ°Π½Π΅. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΊΠΎΠΌΠΏΡΡΡΠ΅Ρ ΠΈ ΠΈΠ³ΡΠΎΠ²ΡΡ ΠΏΡΠΈΡΡΠ°Π²ΠΊΡ ΠΊ ΠΌΠΎΠ½ΠΈΡΠΎΡΡ ΠΈ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΈΠ³ΡΠ°ΡΡ Π² ΠΈΠ³ΡΡ Π½Π° ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ΅ ΠΈ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΡΠΎΠ΄Π΅ΡΠΆΠΈΠΌΠΎΠ΅ ΠΈΠ³ΡΠΎΠ²ΠΎΠΉ ΠΏΡΠΈΡΡΠ°Π²ΠΊΠΈ.
ΠΠ»Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠ° PBP Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡ, ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°ΡΡΠΈΠΉ ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π²Π° ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΡΠΈΠ³Π½Π°Π»ΠΎΠ², ΠΊΠΎΡΠΎΡΡΠ΅ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΠ΄ΠΊΠ»ΡΡΠΈΡΡ ΠΊ ΠΌΠΎΠ½ΠΈΡΠΎΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ. ΠΠ°ΠΆΠ΄ΡΠΉ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ Π±ΡΠ΄Π΅Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΠΎΠ±Π»Π°ΡΡΠΈ Π½Π° ΡΠΊΡΠ°Π½Π΅.
ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΡΠ΅ΠΆΠΈΠΌ PBP Π΄ΠΎΡΡΡΠΏΠ΅Π½ ΡΠΎΠ»ΡΠΊΠΎ Π½Π° Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ°Ρ ΠΈ Π΅Π³ΠΎ Π½Π°Π»ΠΈΡΠΈΠ΅ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ Π·Π°Π²ΠΈΡΠΈΡ ΠΎΡ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ°.
Π Π΄Π°Π½Π½ΠΎΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ ΠΊΠΎΠ΄ Π½Π° Python, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΡ OpenCV Π΄Π»Ρ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π΄Π²ΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ:
# ΠΈΠΌΠΏΠΎΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΡΡ
ΠΌΠΎΠ΄ΡΠ»Π΅ΠΉ
import cv2
# Π·Π°Π³ΡΡΠ·ΠΊΠ° Π΄Π²ΡΡ
ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
image1 = cv2.imread('image1.jpg')
image2 = cv2.imread('image2.jpg')
# ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
pbp_image = cv2.hconcat([image1, image2])
# ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΊΠΎΠ½ΠΊΠ°ΡΠ΅Π½Π°ΡΠΈΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
cv2.imshow('PBP Window', pbp_image)
cv2.waitKey(0)
cv2.destroyAllWindows()
ΠΡΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ Π΄Π²Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΠΎΠ±ΡΠ΅Π΄ΠΈΠ½ΡΠ΅Ρ ΠΈΡ Π³ΠΎΡΠΈΠ·ΠΎΠ½ΡΠ°Π»ΡΠ½ΠΎ, ΡΡΠΎΠ±Ρ ΠΎΠ½ΠΈ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°Π»ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π² ΠΎΠ΄Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅. ΠΡ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π°Π΄Π°ΠΏΡΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΡ ΠΊΠΎΠ΄ Π΄Π»Ρ ΡΠ°Π±ΠΎΡΡ Ρ Π²Π°ΡΠΈΠΌΠΈ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΌΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ ΠΈΠ»ΠΈ Π²ΠΈΠ΄Π΅ΠΎΠ·Π°ΠΏΠΈΡΡΠΌΠΈ.
Π Π·Π°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅, ΡΠ΅ΠΆΠΈΠΌΡ PIP ΠΈ PBP ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠΈ Π΄Π»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Π½Π° Π²Π°ΡΠ΅ΠΌ ΠΌΠΎΠ½ΠΈΡΠΎΡΠ΅ ΠΈΠ»ΠΈ ΡΠ΅Π»Π΅Π²ΠΈΠ·ΠΎΡΠ΅. Π Π΅ΠΆΠΈΠΌ PIP ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Π²Π°ΠΌ ΠΏΡΠΎΡΠΌΠ°ΡΡΠΈΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΠΈΡΡΠΎΡΠ½ΠΈΠΊ ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Π² ΡΠΌΠ΅Π½ΡΡΠ΅Π½Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅, ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΎΠ΄ΠΎΠ»ΠΆΠ°Ρ ΠΏΡΠΎΡΠΌΠΎΡΡ Π΄ΡΡΠ³ΠΎΠ³ΠΎ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Π² ΠΎΡΠ½ΠΎΠ²Π½ΠΎΠΌ ΠΎΠΊΠ½Π΅. Π Π΅ΠΆΠΈΠΌ PBP ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΎΠ΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ ΠΎΡΠΎΠ±ΡΠ°ΠΆΠ°ΡΡ Π΄Π²Π° ΡΠ°Π·Π½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠ° ΠΊΠΎΠ½ΡΠ΅Π½ΡΠ° Π½Π° ΠΎΠ΄Π½ΠΎΠΌ ΡΠΊΡΠ°Π½Π΅. Π£ΡΡΠΈΡΠ΅, ΡΡΠΎ Π΄ΠΎΡΡΡΠΏΠ½ΠΎΡΡΡ ΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΈΡ ΡΠ΅ΠΆΠΈΠΌΠΎΠ² Π·Π°Π²ΠΈΡΡΡ ΠΎΡ Π²Π°ΡΠ΅Π³ΠΎ ΠΎΠ±ΠΎΡΡΠ΄ΠΎΠ²Π°Π½ΠΈΡ.