Göm menyn

Labb 5

Introduktion

Laboration 5 är en lite större labb än de fyra ni gjort tidigare i kursen. Ni har redan använt git för att skicka in er kod till labbassistenten, men nu kommer vi gå igenom lite mer av vad versionshantering handlar om. Läs mer om detta i studiematerialet. I denna labb kommer ni även att få prova att använda ett externt bibliotek, OpenCV, för att göra enkel bildbehandling. Fokus kommer dock ligga på använding av python och alla bildbehandlingskoncept som behövs förklaras antingen i studiematerialet eller i uppgifterna.

En viktig del av den här laborationen handlar om att lära sig läsa kod som andra har skrivit. I slutändan kanske ni själva inte skriver så mycket kod, men det kommer ta en del tid att lista ut exakt vad uppgiften går ut på och vad det är ni ska skriva.

Kodkvalitet och dokumentation

Vi kommer nu ställa lite högre krav på kodkvalitet och dokumentation än vi gjort tidigare. Alla funktioner ska ha docstrings som beskriver vad funktionerna gör och ni ska följa kursens programmeringspraxis.

Importera OpenCV

För att importera opencv-biblioteket i Python används kommandot import cv2.

För att det ska fungera på IDA:s datorer behöver man först skriva module load prog/opencv i terminalen, innan man startar Python-interpretatorn. För att slippa skriva det varje gång man öppnar en ny terminal kan kommandot läggas in i uppstarten genom att skriva kommandot module initadd prog/opencv

Tillhörande kod

Till laborationen finns några färdigskrivna hjälpfunktioner i filen cvlib.py som ska användas. Ladda ner filen och lägg den på samma ställe som er egen kod. Importera den med:

import cvlib

Struktur

Labben är uppdelad i tre delar där varje del behandlar ett specifikt ämne. Del B är något större än del A och del C är något mindre. Det är alltid bra att vara klar i god tid, men det är ingen katastrof om inte hela del B är färdig efter två veckor.

  • Del A: Introduktion till OpenCV, git och listbyggare
  • Del B: Funktionell programmering och högre ordningens funktioner
  • Del C: Testning och undantagshantering

Sidansvarig: Peter Dalenius
Senast uppdaterad: 2021-12-03