{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Wykrywanie ruchu dłoni za pomocą optycznego przepływu\n", "\n", "To laboratorium jest częścią [Kursu AI dla Początkujących](http://aka.ms/ai-beginners).\n", "\n", "Rozważ [ten film](../../../../../../lessons/4-ComputerVision/06-IntroCV/lab/palm-movement.mp4), na którym dłoń osoby porusza się w lewo/prawo/góra/dół na stabilnym tle.\n", "\n", "**Twoim celem** będzie użycie optycznego przepływu, aby określić, które części filmu zawierają ruchy w górę/dół/lewo/prawo.\n", "\n", "Zacznij od uzyskania klatek wideo zgodnie z opisem w wykładzie:\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Code here" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Teraz oblicz gęste przepływy optyczne zgodnie z opisem w wykładzie i przekształć gęste przepływy optyczne na współrzędne biegunowe:\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Code here" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Zbuduj histogram kierunków dla każdej klatki optycznego przepływu. Histogram pokazuje, ile wektorów mieści się w określonym przedziale, i powinien rozdzielać różne kierunki ruchu na klatce.\n", "\n", "> Możesz również wyzerować wszystkie wektory, których wielkość jest poniżej określonego progu. Pozwoli to wyeliminować drobne, nieistotne ruchy wideo, takie jak ruchy oczu i głowy.\n", "\n", "Narysuj histogramy dla niektórych klatek.\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Code here" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Patrząc na histogramy, powinno być dość proste określenie kierunku ruchu. Musisz wybrać te przedziały, które odpowiadają kierunkom góra/dół/lewo/prawo i które są powyżej określonego progu.\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Code here" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Gratulacje! Jeśli wykonałeś wszystkie powyższe kroki, ukończyłeś laboratorium!\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n---\n\n**Zastrzeżenie**: \nTen dokument został przetłumaczony za pomocą usługi tłumaczenia AI [Co-op Translator](https://github.com/Azure/co-op-translator). Chociaż staramy się zapewnić dokładność, prosimy mieć na uwadze, że automatyczne tłumaczenia mogą zawierać błędy lub nieścisłości. Oryginalny dokument w jego rodzimym języku powinien być uznawany za wiarygodne źródło. W przypadku informacji krytycznych zaleca się skorzystanie z profesjonalnego tłumaczenia przez człowieka. Nie ponosimy odpowiedzialności za jakiekolwiek nieporozumienia lub błędne interpretacje wynikające z użycia tego tłumaczenia.\n" ] } ], "metadata": { "language_info": { "name": "python" }, "orig_nbformat": 4, "coopTranslator": { "original_hash": "153d9e417e079bf62f8f693002d0deaf", "translation_date": "2025-08-31T12:57:30+00:00", "source_file": "lessons/4-ComputerVision/06-IntroCV/lab/MovementDetection.ipynb", "language_code": "pl" } }, "nbformat": 4, "nbformat_minor": 2 }