108 lines
3.5 KiB
Plaintext
108 lines
3.5 KiB
Plaintext
{
|
|
"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
|
|
} |