{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "**Tavoitteenasi** on käyttää Optical Flow -menetelmää määrittämään, mitkä osat videosta sisältävät ylös/alas/vasen/oikea liikkeitä.\n", "\n", "Aloita hankkimalla videon ruudut kuten luennolla kuvattiin:\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Code here" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Laske nyt tiheän optisen virtauksen kehykset kuten luennolla kuvattiin, ja muuta tiheä optinen virtaus napakoordinaateiksi:\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Code here" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Rakenna histogrammi optisen virtauksen jokaiselle ruudulle. Histogrammi näyttää, kuinka monta vektoria kuuluu tiettyyn lokeroon, ja sen tulisi erotella eri liikesuunnat ruudulla.\n", "\n", "> Voit myös halutessasi nollata kaikki vektorit, joiden suuruus on tietyn kynnyksen alapuolella. Tämä poistaa pienet ylimääräiset liikkeet videosta, kuten silmien ja pään liikkeet.\n", "\n", "Piirrä histogrammit joillekin ruuduille.\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Code here" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Histogrameja tarkastellessa pitäisi olla melko suoraviivaista määrittää liikkeen suunta. Sinun tulee valita ne palkit, jotka vastaavat ylös/alas/vasen/oikea suuntia ja jotka ovat tietyn kynnyksen yläpuolella.\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# Code here" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Onnittelut! Jos olet suorittanut kaikki yllä olevat vaiheet, olet saanut laboratorion valmiiksi!\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "\n---\n\n**Vastuuvapauslauseke**: \nTämä asiakirja on käännetty käyttämällä tekoälypohjaista käännöspalvelua [Co-op Translator](https://github.com/Azure/co-op-translator). Pyrimme tarkkuuteen, mutta huomioithan, että automaattiset käännökset voivat sisältää virheitä tai epätarkkuuksia. Alkuperäistä asiakirjaa sen alkuperäisellä kielellä tulee pitää ensisijaisena lähteenä. Kriittisen tiedon osalta suositellaan ammattimaista ihmiskääntämistä. Emme ole vastuussa väärinkäsityksistä tai virhetulkinnoista, jotka johtuvat tämän käännöksen käytöstä.\n" ] } ], "metadata": { "language_info": { "name": "python" }, "orig_nbformat": 4, "coopTranslator": { "original_hash": "153d9e417e079bf62f8f693002d0deaf", "translation_date": "2025-08-28T20:46:13+00:00", "source_file": "lessons/4-ComputerVision/06-IntroCV/lab/MovementDetection.ipynb", "language_code": "fi" } }, "nbformat": 4, "nbformat_minor": 2 }