{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Delno judėjimo aptikimas naudojant optinį srautą\n", "\n", "Šis praktinis darbas yra dalis [Dirbtinio intelekto pradedantiesiems mokymo programos](http://aka.ms/ai-beginners).\n", "\n", "Apsvarstykite [šį vaizdo įrašą](../../../../../../lessons/4-ComputerVision/06-IntroCV/lab/palm-movement.mp4), kuriame žmogaus delnas juda į kairę/dešinę/aukštyn/žemyn stabiliame fone.\n", "\n", "**Jūsų tikslas** būtų naudoti optinį srautą, kad nustatytumėte, kurios vaizdo įrašo dalys rodo judesius aukštyn/žemyn/kairėn/dešinėn.\n", "\n", "Pradėkite nuo vaizdo įrašo kadrų gavimo, kaip aprašyta paskaitoje:\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Code here" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Dabar apskaičiuokite tankų optinį srautą pagal paskaitoje aprašytą metodiką ir konvertuokite tankų optinį srautą į polines koordinatės:\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Code here" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Sukurkite optinio srauto kadrų krypčių histogramą. Histogramoje parodoma, kiek vektorių patenka į tam tikrą intervalą, ir ji turėtų atskirti skirtingas judėjimo kryptis kadre.\n", "\n", "> Taip pat galite nustatyti, kad visi vektoriai, kurių dydis yra mažesnis už tam tikrą slenkstį, būtų nustatyti į nulį. Tai pašalins mažus nereikšmingus judesius vaizdo įraše, tokius kaip akių ar galvos judesiai.\n", "\n", "Nubraižykite histogramas kai kuriems kadrams.\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Code here" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Žiūrint į histogramas, turėtų būti gana paprasta nustatyti judėjimo kryptį. Reikia pasirinkti tas juostas, kurios atitinka aukštyn/žemyn/kairėn/dešinėn kryptis ir kurios viršija tam tikrą slenkstį.\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Code here" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Sveikiname! Jei atlikote visus aukščiau nurodytus veiksmus, jūs baigėte laboratoriją!\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n---\n\n**Atsakomybės apribojimas**: \nŠis dokumentas buvo išverstas naudojant dirbtinio intelekto vertimo paslaugą [Co-op Translator](https://github.com/Azure/co-op-translator). Nors siekiame tikslumo, atkreipkite dėmesį, kad automatiniai vertimai gali turėti klaidų ar netikslumų. Originalus dokumentas jo gimtąja kalba turėtų būti laikomas autoritetingu šaltiniu. Dėl svarbios informacijos rekomenduojama kreiptis į profesionalius vertėjus. Mes neprisiimame atsakomybės už nesusipratimus ar klaidingus aiškinimus, kylančius dėl šio vertimo naudojimo.\n" ] } ], "metadata": { "language_info": { "name": "python" }, "orig_nbformat": 4, "coopTranslator": { "original_hash": "153d9e417e079bf62f8f693002d0deaf", "translation_date": "2025-08-31T12:57:14+00:00", "source_file": "lessons/4-ComputerVision/06-IntroCV/lab/MovementDetection.ipynb", "language_code": "lt" } }, "nbformat": 4, "nbformat_minor": 2 }