ΠΠ΅Ρ Π°Π½ΠΈΠΊΠ° ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
Π Ρ ΠΎΠ΄Π΅ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ OpenCV Π±ΡΠ»ΠΎ ΡΠ΅ΡΠ΅Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠΈΡΠΊΠ° Π·Π°ΠΌΠΊΠ½ΡΡΡΡ ΠΊΠΎΠ½ΡΡΡΠΎΠ² findContours Π΄Π»Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠ΅Π½ ΠΊΠ²Π°ΡΡΠΈΡΡ. ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΎΡΡΠΌΠΈΠ±ΠΈΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ (ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΈΠΊΡΠ΅Π»Ρ ΠΊΠΎΠ΄ΠΈΡΡΠ΅ΡΡΡ 8 Π±ΠΈΡΠ°ΠΌΠΈ) — ΡΠΎ Π΅ΡΡΡ ΡΠ΅ΡΠ½ΠΎ-Π±Π΅Π»ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΠΊΠΈ. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΡΠ½ΠΎ-Π±Π΅Π»ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ ΠΌΠ΅ΡΠΎΠ΄ cvtColor… Π§ΠΈΡΠ°ΡΡ Π΅ΡΡ >
ΠΠ΅Ρ Π°Π½ΠΈΠΊΠ° ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (ΡΠ΅ΡΠ΅ΡΠ°Ρ, ΠΊΡΡΡΠΎΠ²Π°Ρ, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½ΡΡΠΎΠ»ΡΠ½Π°Ρ)
ΠΠ΅Ρ Π°Π½ΠΈΠΊΠ° ΡΠ°Π±ΠΎΡΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΠ»Π΅Π΄ΡΡΡΠ°Ρ:
- 1. ΠΠ½Π°ΡΠ°Π»Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ, ΡΡΠΎ Π·Π° ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΠΊΠ° Π»Π΅ΠΆΠΈΡ Ρ Π½Π΅Π³ΠΎ ΠΏΠ΅ΡΠ΅Π΄ Π³Π»Π°Π·Π°ΠΌΠΈ: ΡΡΠ΅Π½Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Ρ ΡΡΡΠΈΡ ΠΎΠ²ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ Π»ΠΈΠ±ΠΎ ΡΠ΅ΡΠ½ΠΎΠΉ ΠΆΠΈΡΠ½ΠΎΠΉ;
- 2. Π‘Π»Π΅Π΄ΡΡΡΠΈΠΌ ΡΠ°Π³ΠΎΠΌ ΠΎΠ½ Π½Π°Π²ΠΎΠ΄ΠΈΡ ΠΊΠ°ΠΌΠ΅ΡΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π½Π° ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΠΊΡ, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π½ΡΡ Π½Π° Π»ΠΈΡΡΠ΅ Π±ΡΠΌΠ°Π³ΠΈ;
- 3. ΠΠ°Π»Π΅Π΅ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΠΆΠ΄Π΅Ρ ΠΏΠΎΠΊΠ° ΠΊΠ°ΠΌΠ΅ΡΠ° Π΅Π³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° ΠΏΠΎΠΉΠΌΠ°Π΅Ρ «ΡΠΎΠΊΡΡ» ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΊΡΠ°Π½Π΅ Π±ΡΠ΄Π΅Ρ Π½Π΅ ΡΠ°Π·ΠΌΡΡΡΠΌ ΠΈ ΡΠ΅ΡΠΊΠΈΠΌ;
- 4. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΎΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°ΠΆΠ°ΡΡ Π½Π° ΠΊΠ½ΠΎΠΏΠΊΡ, ΠΊΠΎΡΠΎΡΠ°Ρ Π² ΡΠ²ΠΎΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π·Π°ΠΏΡΡΡΠΈΡ ΠΌΠ΅Ρ Π°Π½ΠΈΠ·ΠΌ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ 3D ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΌΠ°ΠΊΠ΅ΡΠ° ΠΊΠ²Π°ΡΡΠΈΡΡ. ΠΠΌΠ΅ΡΡΠ΅ Ρ ΡΡΠΈΠΌ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΊΠΈ Π΄Π»Ρ ΠΏΠΎΠ·ΠΈΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ ΠΊΠ²Π°ΡΡΠΈΡΡ Π² Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΠΈ;
- 5. ΠΡΠΈ ΡΡΠΏΠ΅ΡΠ½ΠΎΠΉ ΡΠ°Π±ΠΎΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°, ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΠΊΠ° ΠΊΠ²Π°ΡΡΠΈΡΡ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π΅ΡΡΡ, ΠΈ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»Ρ ΡΠ²ΠΈΠ΄ΠΈΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π±ΡΠ΄ΡΡΠ΅ΠΉ ΠΊΠ²Π°ΡΡΠΈΡΡ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π° Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΠΈ.
ΠΠΏΠΈΡΠ°Π½ΠΈΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ° ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ
ΠΠ°ΠΊ Π³ΠΎΠ²ΠΎΡΠΈΠ»ΠΎΡΡ ΡΠ°Π½ΡΡΠ΅, ΡΡΠΎΠ±Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ Π² Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠ΅ ΠΊΠΎΠΌΠΏΡΡΡΠ΅ΡΠ½ΠΎΠ³ΠΎ Π·ΡΠ΅Π½ΠΈΡ OpenCV ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ ΠΊΠ»Π°ΡΡ Π΄Π»Ρ Ρ ΡΠ°Π½Π΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Mat. ΠΡΠ΅ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°Π½ΠΈΡ ΠΈ ΡΡΠ½ΠΊΡΠΈΠΈ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΏΠΎ ΠΎΡΠ½ΠΎΡΠ΅Π½ΠΈΡ ΠΊ Π½ΠΈΠΌ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠΉ Π² ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΠΎΠΊ. ΠΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΠΊΠΈ ΠΊΠ²Π°ΡΡΠΈΡΡ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 2.
Π ΠΈΡΡΠ½ΠΎΠΊ 2. ΠΡΡ ΠΎΠ΄Π½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΠΊΠΈ.
Π Ρ ΠΎΠ΄Π΅ ΠΈΠ·ΡΡΠ΅Π½ΠΈΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΠ΅ΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ OpenCV Π±ΡΠ»ΠΎ ΡΠ΅ΡΠ΅Π½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠΈΡΠΊΠ° Π·Π°ΠΌΠΊΠ½ΡΡΡΡ ΠΊΠΎΠ½ΡΡΡΠΎΠ² findContours Π΄Π»Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΡΡΠ΅Π½ ΠΊΠ²Π°ΡΡΠΈΡΡ. ΠΠ»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° Π½ΡΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΠΎΡΡΠΌΠΈΠ±ΠΈΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ (ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΈΠΊΡΠ΅Π»Ρ ΠΊΠΎΠ΄ΠΈΡΡΠ΅ΡΡΡ 8 Π±ΠΈΡΠ°ΠΌΠΈ) — ΡΠΎ Π΅ΡΡΡ ΡΠ΅ΡΠ½ΠΎ-Π±Π΅Π»ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΠΊΠΈ. Π§ΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΡΠ΅ΡΠ½ΠΎ-Π±Π΅Π»ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΠΈΠ· ΡΠ²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ ΠΌΠ΅ΡΠΎΠ΄ cvtColor. ΠΠ°Π»Π΅Π΅, Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ°ΡΡ ΠΎΠ΄ΠΈΡΡΡ Π½Π° Π΄Π²Π΅ Π²Π΅ΡΠ²ΠΈ: Π΄Π»Ρ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΠΎΠΊ, ΡΡΠ΅Π½Ρ Π½Π° ΠΊΠΎΡΠΎΡΡΡ Π±ΡΠ»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Ρ ΡΡΡΠΈΡ ΠΎΠ²ΠΎΠΉ ΠΈ ΡΠ΅ΡΠ½ΠΎΠΉ ΠΆΠΈΡΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΠΈΡΡ ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ΅Π½, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π½ΡΡ ΡΡΡΠΈΡ ΠΎΠ²ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΠΉ Π°Π»Π³ΠΎΡΠΈΡΠΌ Π΄Π»Ρ ΡΠ»ΡΡΡΠ΅Π½ΠΈΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΡ Π»ΠΈΡΠ½ΠΈΠΉ Π΄Π΅ΡΠ°Π»Π΅ΠΉ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΡΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ, Π΅ΡΠ»ΠΈ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΠΊΡ Ρ ΡΡΡΠΈΡ ΠΎΠ²ΡΠΌΠΈ Π»ΠΈΠ½ΠΈΡΠΌΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°ΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ΅Π½. ΠΠ½Π°ΡΠ°Π»Π΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ ΠΈΠ· ΠΌΠ΅ΡΠΎΠ΄Π° cvtColor ΡΠ΅ΡΠ½ΠΎ-Π±Π΅Π»ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° adaptiveThreshold Π΄Π΅Π»Π°Π΅ΡΡΡ ΠΈΠ½Π²Π΅ΡΡΠ½ΡΠΌ ΠΈ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΠΏΠΈΠΊΡΠ΅Π»Ρ ΠΏΠΎΠ΄Π²Π΅ΡΠ³Π°Π΅ΡΡΡ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΠΌ ΠΏΠΎΡΠΎΠ³ΠΎΠΌ, Π² ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ ΠΊΠΎΡΠΎΡΠΎΠ³ΠΎ ΠΏΠΈΠΊΡΠ΅Π»Ρ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡΡ Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π±Π΅Π»ΡΠΌ, Π»ΠΈΠ±ΠΎ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ ΡΠ΅ΡΠ½ΡΠΌ. ΠΠ°Π»Π΅Π΅ ΠΏΡΠΈΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ delite, ΠΊΠΎΡΠΎΡΠ°Ρ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ Ρ ΠΌΠ°ΡΠΊΠΎΠΉ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΡΠ°Π·ΠΌΠ΅ΡΠΎΠ² ΡΠ²Π΅Π»ΠΈΡΠΈΡΡ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΠΈΠΊΡΠ΅Π»Π΅ΠΉ, Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΊΠΎΡΠΎΡΡΡ Π±Π»ΠΈΠ·ΠΊΠΈ ΠΊ ΡΡΠ΅Π΄Π½Π΅ΠΌΡ ΠΌΠ°ΠΊΡΠΈΠΌΡΠΌΡ Π² ΠΏΡΠ΅Π΄Π΅Π»Π°Ρ ΠΌΠ°ΡΠΊΠΈ. ΠΠΎΡΠ»Π΅ ΠΏΡΠΈΠΌΠ΅Π½Π΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π±ΠΎΠ»Π΅Π΅ Π½Π°ΡΡΡΠ΅Π½Π½ΡΠΌ ΠΈ Π²ΡΠ΅ Π΅Π³ΠΎ ΡΠ»Π΅ΠΌΠ΅Π½ΡΡ Π²ΡΠ΄Π΅Π»ΡΡΡΡΡ ΡΠΈΠ»ΡΠ½Π΅Π΅ Π±Π΅Π»ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ. ΠΠ°Π»Π΅Π΅ Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ΠΌ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΌΠ΅ΡΠΎΠ΄ morphologyEx, ΠΊΠΎΡΠΎΡΡΠΉ ΡΠ±ΠΈΡΠ°Π΅Ρ «ΡΠ΅ΡΠ½ΡΠΉ ΡΡΠΌ» ΡΠΎ Π²ΡΠ΅Ρ Π±Π΅Π»ΡΡ Π»ΠΈΠ½ΠΈΠΉ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π΄Π»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ ΡΡΠ΅Π½Ρ Π²ΡΠ΄Π΅Π»ΡΠ»ΠΈΡΡ Π½Π° ΡΠΎΠ½Π΅ ΠΎΡΡΠ°Π»ΡΠ½ΡΡ Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΠΊΠΈ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠΉ ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ, Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ½ΠΎΠ²Π° ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π΅Π΄ΠΈΠ½ΡΠΌ, ΠΊΠ°ΠΊ Π΄Π»Ρ ΡΡΠ΅Π½ ΠΈΡΠΏΠΎΠ»Π½Π΅Π½Π½ΡΡ ΡΡΡΠΈΡ ΠΎΠ²ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ, ΡΠ°ΠΊ ΠΈ Π΄Π»Ρ ΡΡΠ΅Π½, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Ρ ΡΠ΅ΡΠ½ΠΎΠΉ ΡΠΏΠ»ΠΎΡΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ.
Π§ΡΠΎΠ±Ρ Π² ΠΎΠ±Π»Π°ΡΡΡ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ Π½Π΅ ΠΏΠΎΠΏΠ°Π»ΠΎ Π½ΠΈΡΠ΅Π³ΠΎ Π»ΠΈΡΠ½Π΅Π³ΠΎ, ΠΊΡΠΎΠΌΠ΅ ΡΠ°ΠΌΠΎΠΉ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΠΊΠΈ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Π΄Π»Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ Π·Π°ΠΌΠΊΠ½ΡΡΡΡ ΠΊΠΎΠ½ΡΡΡΠΎΠ², Π° ΠΈΠΌΠ΅Π½Π½ΠΎ findContours. Π‘Π»Π΅Π΄ΡΠ΅Ρ ΠΎΡΠΌΠ΅ΡΠΈΡΡ, ΡΡΠΎ Π΄Π°Π½Π½ΠΎΠΉ ΠΏΡΠΎΡΠ΅Π΄ΡΡΠΎΠΉ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΡΠ΅Π½Π΅Π±ΡΠ΅ΡΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ Π½Π° Π²Ρ ΠΎΠ΄ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΠΌΠ΅ΡΠΎΠ΄Π° ΠΏΡΠΈΠ½ΠΈΠΌΠ°ΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π²ΡΡ ΡΠ²Π΅ΡΠ½ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠΎΠ»ΡΡΠ°Π΅ΡΡΡ ΠΈΠ· ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠ³ΠΎ, ΠΌΠ΅ΡΠΎΠ΄ΠΎΠΌ Canny, ΠΈ ΠΎΠ½ Π½Π΅ Π²ΡΠ΅Π³Π΄Π° ΡΡΠ°Π±Π°ΡΡΠ²Π°Π΅Ρ ΠΊΠΎΡΡΠ΅ΠΊΡΠ½ΠΎ. ΠΠ»Ρ ΡΠΎΠ³ΠΎ, ΡΡΠΎΠ±Ρ «Π½Π°ΠΉΡΠΈ» ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΠΊΡ ΠΊΠ²Π°ΡΡΠΈΡΡ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΠ°ΠΌΠΎΠ³ΠΎ Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΡΠΈ ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΠΊΠΈ ΠΊΠ²Π°ΡΡΠΈΡΡ Π²ΡΡ ΠΊΠ²Π°ΡΡΠΈΡΠ° ΠΈ Π±ΡΠ΄Π΅Ρ ΡΠ²Π»ΡΡΡΡΡ ΡΠ°ΠΌΡΠΌ Π±ΠΎΠ»ΡΡΠΈΠΌ ΠΊΠΎΠ½ΡΡΡΠΎΠΌ. ΠΡΠΎ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΡΠΎΡΡΡΠΌ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠΎΠΌ Π²ΡΠ΅Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π½Π½ΡΡ ΠΊΠΎΠ½ΡΡΡΠΎΠ². ΠΠΎΡΠ»Π΅ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΡΡΠ΅Π±ΡΠ΅ΠΌΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΡΡΠ° ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ Π·Π°Π»ΠΈΠ²ΠΊΠ° ΡΠ΅ΡΠ½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ Π²ΡΠ΅ΠΉ ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠΉ ΡΠ°ΡΡΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, ΡΡΠΎΠ±Ρ Π»ΠΈΡΠ½ΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Π½Π΅ ΠΌΠ΅ΡΠ°Π»ΠΈΡΡ ΠΏΡΠΈ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΠΈ ΡΡΠ΅Π½.
ΠΠ΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎ ΠΏΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΊ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΡΡΠ΅Π½, ΠΎΠΏΡΡΡ ΠΆΠ΅ ΡΠ°Π·Π½ΡΠ΅ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²ΠΈΠ΄Π° ΡΡΠ΅Π½. ΠΠ»Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΡΡΠ΅Π½, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π½ΡΡ ΡΡΡΠΈΡ ΠΎΠ²ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π»ΡΡ ΠΌΠ΅ΡΠΎΠ΄ wallDetector_hatch, Π° Π΄Π»Ρ ΡΡΠ΅Π½, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π½ΡΡ ΡΠΏΠ»ΠΎΡΠ½ΠΎΠΉ ΡΠ΅ΡΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ — wallDetector_solid. Π ΠΏΠ΅ΡΠ²ΠΎΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° getStructuringElement ΠΈΠ· ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Π±ΡΠ»ΠΈ «Π²ΡΠ΄Π΅ΡΠ½ΡΡΡ» Π²ΡΠ΅ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΡΠ΅ ΡΠΎΠ½ΠΊΠΈΠ΅ Π»ΠΈΠ½ΠΈΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ ΠΈ ΡΠ²Π»ΡΡΡΡΡ ΠΈΡΠΊΠΎΠΌΡΠΌΠΈ ΡΡΠ΅Π½Π°ΠΌΠΈ. ΠΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ΅ Π½ΠΎΠ²ΠΎΠ΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ»ΠΎ ΠΏΠΎΠΌΠ΅ΡΠ΅Π½ΠΎ Π² ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° Mat ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ walls. ΠΡΠΎΡΠΎΠΉ ΠΆΠ΅ ΠΌΠ΅ΡΠΎΠ΄ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΠ½Π°ΡΠ°Π»Π° ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π΅Ρ ΡΡΠ΅Π½Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π½ΡΠ΅ ΡΠΏΠ»ΠΎΡΠ½ΠΎΠΉ Π»ΠΈΠ½ΠΈΠ΅ΠΉ, Π° Π·Π°ΡΠ΅ΠΌ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ°ΡΠΊΠΈ Π·Π°ΠΊΡΠ°ΡΠΈΠ²Π°Π΅Ρ ΡΠ΅ΡΠ½ΡΠΌ ΡΠ²Π΅ΡΠΎΠΌ ΡΠ΅ ΠΌΠ΅ΡΡΠ°, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ ΡΠ²Π»ΡΡΡΡΡ ΡΡΠ΅Π½Π°ΠΌΠΈ Π½Π° ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΌ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠΈ. ΠΠ»Π°Π³ΠΎΠ΄Π°ΡΡ ΡΡΠΎΠΌΡ ΠΏΡΠΈΠ΅ΠΌΡ, Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ (ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΏΠ΅ΡΠ΅Π΄Π°Π΅ΡΡΡ Π² ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ ΠΊΠ»Π°ΡΡΠ° Mat walls) ΡΠ±ΠΈΡΠ°ΡΡΡΡ Π»ΠΈΡΠ½ΠΈΠ΅ Π΄Π΅ΡΠ°Π»ΠΈ, ΠΊΠΎΡΠΎΡΡΠ΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ Π±ΡΡΡ ΠΏΡΠΈΠ½ΡΡΡ Π² ΠΊΠ°ΡΠ΅ΡΡΠ²Π΅ ΡΡΠ΅Π½.
ΠΠΎΡΠ»Π΅ ΠΏΡΠΎΠ΄Π΅Π»ΡΠ²Π°Π½ΠΈΡ ΠΎΠΏΠΈΡΠ°Π½Π½ΡΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΠΉ, ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΠΈΠΌΠ΅Π΅Ρ Π±Π΅Π»ΡΠ΅ ΠΎΡΠ΅ΡΡΠ°Π½ΠΈΡ ΡΡΠ΅Π½ (Π²ΡΡΡΠ½ΡΡΡΠ΅ ΠΏΡΡΠΌΠΎΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΈ). ΠΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ ΡΠ°Π±ΠΎΡΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 3.
Π ΠΈΡΡΠ½ΠΎΠΊ 3. ΠΡΠΎΠΌΠ΅ΠΆΡΡΠΎΡΠ½ΡΠΉ ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΡ.
ΠΠ°Π»Π΅Π΅ ΠΎΠΏΡΡΡ ΠΆΠ΅ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠΆΠ΅ ΡΠΏΠΎΠΌΠΈΠ½Π°Π²ΡΠ΅Π³ΠΎΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° findContours ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° Π½Π°Ρ ΠΎΠ΄ΠΈΡ Π²ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΠΎΠ³ΠΎ Π½Π° ΠΏΡΠ΅Π΄ΡΠ΄ΡΡΠ΅ΠΌ ΡΠ°Π³Π΅ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. Π ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ΅ Π²ΡΠ΅ Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΠ΅ Π·Π°ΠΌΠΊΠ½ΡΡΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡ Π±ΡΠ΄ΡΡ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Π²ΡΠ΅Ρ ΡΡΠ΅Π½ Π² Π·Π°Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΠΊΠ΅. ΠΠΎ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΡ Π±ΡΠ΄ΡΡ ΡΠΎΡΡΠΎΡΡΡ ΠΈΠ· Π±ΠΎΠ»ΡΡΠΎΠ³ΠΎ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²Π° ΡΠΎΡΠ΅ΠΊ. ΠΡΠΎ Π²Π΅Π΄Π΅Ρ ΠΊ Π½Π΅ΡΠΎΡΠ½ΠΎΡΡΡΠΌ ΠΏΡΠΈ ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΠΈ 3D-ΠΌΠΎΠ΄Π΅Π»ΠΈ, ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΠΏΠ»ΠΎΡΠΊΠΎΡΡΡ ΡΡΠ΅Π½Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ Π±ΡΠ΄ΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡΡΡ Π½Π΅ΡΠΎΠ²Π½ΠΎΠΉ, ΡΡΠΎ Π½Π΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΈΡΡ ΠΎΠ΄Π½ΠΎΠΉ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΠΊΠ΅. ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΌΠ΅ΡΠΎΠ΄ contours_points ΠΊΠ»Π°ΡΡΠ° ModelBuilder. ΠΠ½ ΡΠ΄Π°Π»ΡΠ΅Ρ Π»ΠΈΡΠ½ΠΈΠ΅ ΡΠΎΡΠΊΠΈ ΠΊΠΎΠ½ΡΡΡΠ° Π΄Π»Ρ Π΄ΠΎΡΡΠΈΠΆΠ΅Π½ΠΈΡ Π±ΠΎΠ»Π΅Π΅ ΠΏΡΠ°Π²Π΄ΠΈΠ²ΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ° ΠΏΠΎΡΡΡΠΎΠ΅Π½ΠΈΡ ΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΠΎΠΉ ΠΌΠΎΠ΄Π΅Π»ΠΈ. Π£Π΄Π°Π»ΡΡΡΡΡ ΡΠΎΠ»ΡΠΊΠΎ ΡΠ΅ ΡΠΎΡΠΊΠΈ, ΡΠ³ΠΎΠ» ΠΌΠ΅ΠΆΠ΄Ρ ΠΊΠΎΡΠΎΡΡΠΌΠΈ Π±ΠΎΠ»ΡΡΠ΅ 115 Π³ΡΠ°Π΄ΡΡΠΎΠ².
Π§ΡΠΎΠ±Ρ ΠΏΡΠ΅ΠΎΠ±ΡΠ°Π·ΠΎΠ²Π°ΡΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠΎΡΠ΅ΠΊ ΠΊΠΎΠ½ΡΡΡΠΎΠ² ΡΡΠ΅Π½, ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π½Π½ΡΡ Ρ ΡΠΊΡΠ°Π½Π° ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°, Π² ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π²ΠΈΡΡΡΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π° ΡΠ°ΠΊ, ΡΡΠΎΠ±Ρ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½Π°Ρ ΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ Π² ΡΠ΅ΠΆΠΈΠΌΠ΅ Π΄ΠΎΠΏΠΎΠ»Π½Π΅Π½Π½ΠΎΠΉ ΡΠ΅Π°Π»ΡΠ½ΠΎΡΡΠΈ Π½Π°ΠΊΠ»Π°Π΄ΡΠ²Π°Π»Π°ΡΡ Π½Π° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Ρ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΊΠ°ΠΊ Π±ΡΠ΄ΡΠΎ ΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½Π°Ρ ΠΌΠΎΠ΄Π΅Π»Ρ — ΡΠ΅Π·ΡΠ»ΡΡΠ°Ρ Π²ΡΠ΄Π°Π²Π»ΠΈΠ²Π°Π½ΠΈΡ ΡΡΠ΅Π½ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΠΊΠΈ Π²Π²Π΅ΡΡ , Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ ΡΠΎΡΠΌΡΠ»Ρ:
Π ΠΈΡΠΎΠ³Π΅ Π²ΡΠ΅ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΠ΅ ΡΠΎΡΠΊΠΈ ΠΊΠΎΠ½ΡΡΡΠΎΠ² ΠΏΠΎΠΌΠ΅ΡΠ°ΡΡΡΡ Π² ΡΠΏΠΈΡΠΎΠΊ ΡΠΏΠΈΡΠΊΠΎΠ² Point — counter_wall, ΡΠΎ Π΅ΡΡΡ Π² Π½Π΅ΠΌ Ρ ΡΠ°Π½ΡΡΡΡ ΡΠΏΠΈΡΠΊΠΈ ΡΠΈΠΏΠ° Point (ΡΠΈΠΏ Π΄Π°Π½Π½ΡΡ ΠΊΠΎΡΠΎΡΡΠΉ Ρ ΡΠ°Π½ΠΈΡ ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΡΠΎΡΠ΅ΠΊ, ΠΈΠΌΠ΅Π΅Ρ Π°ΡΡΠΈΠ±ΡΡΡ x ΠΈ y), ΠΊΠΎΡΠΎΡΡΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡ ΡΠ°Π·Π½ΡΠΌ ΠΊΠΎΠ½ΡΡΡΠ°ΠΌ. ΠΠΌΠ΅Ρ Π²ΡΠ΅ ΡΠΎΡΠΊΠΈ Π² ΡΠ°ΠΊΠΎΠΌ ΡΠΏΠΈΡΠΊΠ΅ Π»Π΅Π³ΠΊΠΎ ΡΠΎΡΡΠ°Π²ΠΈΡΡ ΠΌΠ°ΡΡΠΈΠ², ΠΊΠΎΡΠΎΡΡΠΉ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡ XΠΈ Y-ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ Π²Π΅ΡΡΠ΅ΠΊΡΠΎΠ² ΠΈΡΠΊΠΎΠΌΠΎΠΉ 3D-ΠΌΠΎΠ΄Π΅Π»ΠΈ. Z-ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ° ΠΏΡΠΈΡΠ°Π²Π½ΠΈΠ²Π°Π΅ΡΡΡ ΠΊ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠΌΡ ΡΡΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠΌΡ Π·Π½Π°ΡΠ΅Π½ΠΈΡ, ΠΊΠΎΡΠΎΡΠΎΠ΅ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ°Π΅Ρ Π²ΡΡΠΎΡΡ Π²ΡΠ΄Π°Π²Π»ΠΈΠ²Π°Π½ΠΈΡ, ΠΎΠ½ΠΎ Π½Π΅ ΠΌΠ΅Π½ΡΠ΅ΡΡΡ ΠΎΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΠΊΠΈ ΠΊ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΠΊΠ΅.
Π’Π°ΠΊΠΆΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΏΠΎΡΠΎΠ±Π½ΠΎ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°ΡΡ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΡΡΠ΅Π½Ρ, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Π΄Π²Π΅ΡΠ½ΡΠ΅ ΠΏΡΠΎΠ΅ΠΌΡ ΠΈ ΠΎΠΊΠ½Π°, ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½Π½ΡΠ΅ Π½Π° ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΠΊΠ΅. ΠΡΠΈ ΡΡΠΎΠΌ ΠΎΡΡΠ°Π΅ΡΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠ° Π½Π΅ΡΠΎΠ³Π»Π°ΡΠΎΠ²Π°Π½Π½ΠΎΡΡΠΈ ΡΡΠ°Π½Π΄Π°ΡΡΠΎΠ² ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΠΎΠΊ ΠΊΠ²Π°ΡΡΠΈΡ Ρ ΡΠ°Π·Π½ΡΡ Π·Π°ΡΡΡΠΎΠΉΡΠΈΠΊΠΎΠ², ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π΅Ρ ΡΡΡΠ΄Π½ΠΎΡΡΠΈ ΡΠ°Π±ΠΎΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠ°. Π Π΅Π·ΡΠ»ΡΡΠ°ΡΡ ΠΏΠΎΠ»ΡΡΠ°ΡΡΡΡ Π½Π΅ ΠΎΠ΄ΠΈΠ½Π°ΠΊΠΎΠ²ΡΠΌΠΈ.
ΠΠ»Ρ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ Π΄Π²Π΅ΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΌΠΎΠ² Π½Π° ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΠΊΠ΅, Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΡΠΎΠ·Π΄Π°Π½ ΠΌΠ΅ΡΠΎΠ΄ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ doorDetector, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅Ρ Π²ΡΡΡΠΎΠ΅Π½Π½ΡΠ΅ Π°Π»Π³ΠΎΡΠΈΡΠΌΡ OpenCV. Π ΡΡΠΎΠΌ ΠΌΠ΅ΡΠΎΠ΄Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΠΏΡΠΈΠ΅ΠΌ ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎ ΡΠ°Π±Π»ΠΎΠ½Ρ ΠΏΠΎΠ΄ Π½Π°Π·Π²Π°Π½ΠΈΠ΅ΠΌ matchShapes. ΠΠ½ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ Π½Π΅ ΠΏΠΈΠΊΡΠ΅Π»ΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ, Π° Π΅Π³ΠΎ ΠΊΠΎΠ½ΡΡΡΡ. ΠΡΡΠ³ΠΈΠΌΠΈ ΡΠ»ΠΎΠ²Π°ΠΌΠΈ, Π² ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ Ρ ΡΠ°Π½ΠΈΡΡΡ ΡΠ°Π±Π»ΠΎΠ½ Π΄Π²Π΅ΡΠ½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΌΠ°, ΡΡΠΎΠ±Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡ ΡΡΠ°Π²Π½ΠΈΠ²Π°Π½ΠΈΡ Ρ ΠΊΠΎΠ½ΡΡΡΠ°ΠΌΠΈ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ. ΠΠ½ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ Π½Π° ΡΠΈΡΡΠ½ΠΊΠ΅ 4.
Π ΠΈΡΡΠ½ΠΎΠΊ 4. Π¨Π°Π±Π»ΠΎΠ½ Π΄Π»Ρ ΠΏΠΎΠΈΡΠΊΠ° Π΄Π²Π΅ΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΌΠΎΠ².
Π Π΄Π°Π½Π½ΠΎΠΌ ΡΠ»ΡΡΠ°Π΅ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ° ΡΠ½Π°ΡΠ°Π»Π° Π½Π°Ρ ΠΎΠ΄ΠΈΡ ΡΠ°ΠΌΡΠΉ Π±ΠΎΠ»ΡΡΠΎΠΉ ΠΊΠΎΠ½ΡΡΡ ΡΠ°Π±Π»ΠΎΠ½Π°, Π·Π°ΡΠ΅ΠΌ Π½Π°Ρ ΠΎΠ΄ΠΈΡ Π²ΡΠ΅ ΠΊΠΎΠ½ΡΡΡΠ° ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ ΠΊΠ°ΠΌΠ΅ΡΡ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. Π’Π°ΠΊΠΆΠ΅ ΠΊΠ°ΠΊ ΠΈ ΡΠ°Π½ΡΡΠ΅, ΠΊΠΎΠ½ΡΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ ΡΠ°ΡΠΏΠΎΠ·Π½Π°ΡΡΡΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° findContours. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ ΠΏΠ΅ΡΠ΅Π±ΠΎΡΠΎΠΌ ΡΡΠ½ΠΊΡΠΈΡ matchShapes ΡΡΠ°Π²Π½ΠΈΠ²Π°Π΅Ρ ΠΊΠΎΠ½ΡΡΡΡ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΡ Ρ ΡΠ°Π±Π»ΠΎΠ½Π½ΡΠΌ, ΡΠ°ΠΊ ΠΈ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡ ΠΏΠΎΠΈΡΠΊ Π΄Π²Π΅ΡΠ½ΡΡ ΠΏΡΠΎΠ΅ΠΌΠΎΠ².
ΠΠ»Ρ ΠΏΠΎΠΈΡΠΊΠ° ΠΎΠΊΠΎΠ½Π½ΡΡ ΠΏΡΠΎΠ΅ΠΌΠΎΠ² Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌΠΎΠ², ΡΠ°ΠΊ ΠΊΠ°ΠΊ ΡΡΠ°Π½Π΄Π°ΡΡΡ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠΊΠΎΠ½Π½ΡΡ ΠΏΡΠΎΠ΅ΠΌΠΎΠ² ΠΎΡΠ»ΠΈΡΠ°ΡΡΡΡ ΠΎΡ Π·Π°ΡΡΡΠΎΠΉΡΠΈΠΊΠ° ΠΊ Π·Π°ΡΡΡΠΎΠΉΡΠΈΠΊΡ. ΠΡΠ½ΠΎΠ²ΡΠ²Π°ΡΡΡ Π½Π° Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΠΊΠ΅, Π±ΡΠ» ΡΠ°Π·ΡΠ°Π±ΠΎΡΠ°Π½ ΠΌΠ΅ΡΠΎΠ΄, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠ΅Ρ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ΅Π΅ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π½Π½ΡΡ ΠΊΠΎΠ½ΡΡΡΠΎΠ². ΠΡΠ»ΠΈ ΠΆΠ΅ ΠΈΡ ΡΠ°ΡΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΠ΅Ρ ΠΎΠ±ΠΎΠ·Π½Π°ΡΠ΅Π½ΠΈΡ ΠΎΠΊΠΎΠ½Π½ΠΎΠ³ΠΎ ΠΏΡΠΎΠ΅ΠΌΠ°, ΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΠΎ, Π½Π° ΡΡΠΎΠΌ ΠΌΠ΅ΡΡΠ΅ ΡΡΡΠΎΠΈΡΡΡ ΠΎΠΊΠΎΠ½Π½ΡΠΉ ΠΏΡΠΎΠ΅ΠΌ.
ΠΠ° ΡΠΈΡΡΠ½ΠΊΠ΅ 5 ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ Π²Π΅ΡΡ Π°Π»Π³ΠΎΡΠΈΡΠΌ ΡΠ°ΡΠΏΠΎΠ·Π½Π°Π²Π°Π½ΠΈΡ ΡΡΠ΅Π½ ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΠΊΠΈ.
Π ΠΈΡΡΠ½ΠΎΠΊ 5. ΠΠ»Π³ΠΎΡΠΈΡΠΌ ΡΠ°Π±ΠΎΡΡ ΡΠ°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Π΅ΠΌΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ.
Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ, ΠΊΠ°ΠΊ ΡΡΡΠΎΠΈΡΡΡ ΠΊΠΎΠ½Π΅ΡΠ½Π°Ρ 3D-ΠΌΠΎΠ΄Π΅Π»Ρ ΠΊΠ²Π°ΡΡΠΈΡΡ. ΠΠΌΠ΅Ρ ΠΌΠ°ΡΡΠΈΠ² ΡΠΎΡΠ΅ΠΊ verts ΠΈ ΠΌΠ°ΡΡΠΈΠ² Π½ΠΎΡΠΌΠ°Π»Π΅ΠΉ normals, ΠΏΠ΅ΡΠ΅Π΄Π°Π²Π°Ρ ΠΈΡ Π² ΠΊΠ»Π°ΡΡ ModelShape, ΠΊΠΎΡΠΎΡΡΠΉ Π½Π°ΡΠ»Π΅Π΄ΡΠ΅Ρ GLSurfaceView. Renderer ΠΌΠΎΠΆΠ½ΠΎ Π»Π΅Π³ΠΊΠΎ ΠΎΡΠΎΠ±ΡΠ°Π·ΠΈΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ Π½Π° ΡΠΊΡΠ°Π½Π΅ ΠΌΠΎΠ±ΠΈΠ»ΡΠ½ΠΎΠ³ΠΎ ΡΡΡΡΠΎΠΉΡΡΠ²Π°. ΠΡΠΎ ΡΡΠ°Π½ΠΎΠ²ΠΈΡΡΡ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ ΠΈΠ·-Π·Π° ΡΠΎΠ³ΠΎ, ΡΡΠΎ ΡΠΎΡΠΊΠΈ Π² ΠΌΠ°ΡΡΠΈΠ²Π΅ verts ΠΈΠ΄ΡΡ Π² ΡΠ»Π΅Π΄ΡΡΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅: ΡΠ½Π°ΡΠ°Π»Π° ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΠ° x, ΠΏΠΎΡΠΎΠΌ y ΠΈ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²Π΅Π½Π½ΠΎ z. Π’ΠΎ Π΅ΡΡΡ ΠΊΠ°ΠΆΠ΄ΡΠ΅ ΡΡΠΈ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°ΡΠ΅Π»ΡΠ½ΡΡ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠ° ΠΌΠ°ΡΡΠΈΠ²Π° ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ Π²Π΅ΡΡΠ΅ΠΊΡ. ΠΠ΅Π²ΡΡΡ ΠΈΠ΄ΡΡΠΈΡ Π΄ΡΡΠ³ Π·Π° Π΄ΡΡΠ³ΠΎΠΌ ΡΠ»Π΅ΠΌΠ΅Π½ΡΠΎΠ² — ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΠΎΠ΄ΠΈΠ½ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ, ΠΈ ΡΠ°ΠΊ Π΄Π°Π»Π΅Π΅. ΠΠ°ΡΡΠΈΠ² ΡΠΎΡΡΠ°Π²Π»Π΅Π½ ΡΠ°ΠΊΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ, ΡΡΠΎ Π²ΡΠ΅ Π΅Π³ΠΎ ΡΠΈΡΠ»Π° Π±ΡΠ΄ΡΡ ΠΎΠΏΠΈΡΡΠ²Π°ΡΡ ΡΠ΅Π»ΠΈΠΊΠΎΠΌ Π²ΡΡ ΠΎΠ΄Π½ΡΡ ΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΊΠ²Π°ΡΡΠΈΡΡ. ΠΠ°ΡΡΠΈΠ² Π½ΠΎΡΠΌΠ°Π»Π΅ΠΉ ΠΎΠΏΠΈΡΡΠ²Π°Π΅Ρ Π½ΠΎΡΠΌΠ°Π»ΠΈΠ·ΠΎΠ²Π°Π½Π½ΡΠ΅ Π²Π΅ΠΊΡΠΎΡΡ Π΄Π»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π²Π΅ΡΡΠ΅ΠΊΡΠ°. ΠΡΠΎ Π½ΡΠΆΠ½ΠΎ Π² ΠΏΠ΅ΡΠ²ΡΡ ΠΎΡΠ΅ΡΠ΅Π΄Ρ Π΄Π»Ρ ΡΠ°ΡΡΠ΅ΡΠ° ΡΠ²Π΅ΡΠ° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠ°, Π΄Π»Ρ Π±ΠΎΠ»Π΅Π΅ ΡΠ΅Π°Π»ΠΈΡΡΠΈΡΠ½ΠΎΠ³ΠΎ Π²ΠΎΡΠΏΡΠΈΡΡΠΈΡ.
ΠΠ»Ρ ΡΠΎΠ³ΠΎ ΡΡΠΎΠ±Ρ ΡΠΎΡ ΡΠ°Π½ΠΈΡΡ ΠΏΠΎΠ»ΡΡΠ΅Π½Π½ΡΡ ΡΡΠ΅Ρ ΠΌΠ΅ΡΠ½ΡΡ ΠΌΠΎΠ΄Π΅Π»Ρ ΠΊΠ²Π°ΡΡΠΈΡΡ Π² ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΠΎΠΌ ΡΠΎΡΠΌΠ°ΡΠ΅ «STL» Π½ΡΠΆΠ½ΠΎ ΠΏΡΠΎΡΡΠΎ Π·Π°ΠΏΠΈΡΠ°ΡΡ Π² ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΉ ΡΠ°ΠΉΠ» ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°ΡΡ ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½ΠΎΠ² Π² ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅ΠΌ ΠΏΠΎΡΡΠ΄ΠΊΠ΅. Π Π°ΡΡΠΌΠΎΡΡΠΈΠΌ ΡΡΡΡΠΊΡΡΡΡ, ΠΊΠΎΡΠΎΡΠΎΠΉ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΎΠ²Π°ΡΡ ΡΠ°ΠΉΠ» «STL». ΠΡΠ΅Π³Π΄Π° Π² Π½Π°ΡΠ°Π»Π΅ ΡΠ°ΠΊΠΎΠ³ΠΎ ΡΠ°ΠΉΠ»Π° Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΈΠ΄ΡΠΈ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΎΠΊ, ΡΠΎΡΡΠΎΡΡΠΈΠΉ ΠΈΠ· 80 Π±Π°ΠΉΡ, Π·Π°ΡΠ΅ΠΌ ΠΊΠΎΠ»ΠΈΡΠ΅ΡΡΠ²ΠΎ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊΠΎΠ² (ΠΏΠΎΠ»ΠΈΠ³ΠΎΠ½ΠΎΠ²) — ΡΠ΅Π»ΠΎΠ΅ ΡΠΈΡΠ»ΠΎ (Int). ΠΠ°Π»Π΅Π΅ ΠΊΠ°ΠΆΠ΄ΡΠΉ ΡΡΠ΅ΡΠ³ΠΎΠ»ΡΠ½ΠΈΠΊ ΠΎΠΏΠΈΡΡΠ²Π°Π΅ΡΡΡ Π΄Π²Π΅Π½Π°Π΄ΡΠ°ΡΡΡ 32 Π±ΠΈΡΠ½ΡΠΌΠΈ ΡΠΈΡΠ»Π°ΠΌΠΈ Ρ ΠΏΠ»Π°Π²Π°ΡΡΠ΅ΠΉ Π·Π°ΠΏΡΡΠΎΠΉ: 3 ΡΠΈΡΠ»Π° Π΄Π»Ρ Π½ΠΎΡΠΌΠ°Π»ΠΈ ΠΈ ΠΏΠΎ 3 ΡΠΈΡΠ»Π° Π½Π° ΠΊΠ°ΠΆΠ΄ΡΡ ΠΈΠ· ΡΡΡΡ Π²Π΅ΡΡΠΈΠ½ Π΄Π»Ρ X/Y/Z ΠΊΠΎΠΎΡΠ΄ΠΈΠ½Π°Ρ. ΠΠΎΡΠ»Π΅ ΡΡΠΎΠ³ΠΎ Π² ΡΠ°ΠΉΠ»Π΅ Π΄ΠΎΠ»ΠΆΠ½Ρ ΠΈΠ΄ΡΠΈ 2 Π±Π°ΠΉΡΠ° Π±Π΅Π·Π·Π½Π°ΠΊΠΎΠ²ΠΎΠ³ΠΎ «short».