ELE610 Prosjekter i robotteknikk, vår 2017.

Like dokumenter
ELE610 Prosjekter i robotteknikk, vår 2017.

TMA4100 Matematikk 1, høst 2013

Artikkel 5 Astrofotografering med Starlight Express koplet til Skywatch som Objektiv

TMA4100 Matematikk 1, høst 2013

Installasjon av Windows 7 (kan oppgraderes til Win10) og Office 2016

Patrick Fallang (Dataingeniør) Lab Oppgave: Kjenn Din Egen PC (XP)

VMware Horizon View Client. Brukerveiledning for nedlasting, installasjon og pålogging for fjerntilgang

Steg 1: Installasjon. Steg 2: Installasjon av programvare. ved nettverkstilkoblingen på baksiden av kameraet. Kameraet vil rotere og tilte automatisk.

ELE610 Prosjekter i robotteknikk, vår 2018.

Etiming i VirtualBox!!!!!!!!!! Side 1 av 24

ProMed. Brukermanual for installasjon og bruk av mobiltelefon eller SMS og nett for sending av SMS direkte fra. for Windows

Kom i gang med Python

Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes canvas. 1 Øving med systemidentifikasjon.

NorthIce videobriller

Velkomment til å installere BAS21

Installasjons Guide for esam

Nadine Pedersen GRIT Datamaskinen- kjenn din Mac

En liten oppskrift på hvordan jeg installert og fikk Xastir til å virke sånn at jeg ble synlig i APRS verden.

Kjenn din PC (Windows 7)

Manual for Eagle 100 og Lynx 500

Hvis du gjenkjenner ett av disse to bildene over så er dere på vår ASP-server.

Manual for å oppgrade TS 1000 fra:

Installasjon av Nett-TV-meter Trinn for trinn

Guide for å overføre bilder fra kamera til PC med Vista

Oppdatering av MEMOplanner, MEMOplanner MEDIUM og MEMOactive

1. Gå inn på portalen:

Veileder for opplasting av AKTIV sporlogg til PC

UNIVA as, Tromøyveien 26, N-4841 Arendal, Norway Phone: , web:

Brukerveiledning Privatisering av datamaskinen For avgangselever våren 2017

Skriv ordbøker og litteratur på Tegnspråk med en nett-tjener i lommeformat! For ivrige Tegnskrift (SignWriting )- brukere!

HJEMMEKONTOR. Del 1 Installasjon på jobb Norsk Helsenett SF

Manual for AL500AC og AL100AC

Ny på nett. Operativsystemer

Matematikk Øvingsoppgaver i numerikk leksjon 4 m-ler

Fjerninstallasjon av Windows 7

Hvordan man kobler til printeren, laster ned CardPresso, installerer skrifttypen og får kommet i gang med produktet.

Brukerveiledning LagerMester ios

Brukerveiledning for programmet HHR Animalia

MyLocator2 Brukermanual v1.6 ( ) Utdrag av vlocpro2/vlocml2 brukermanual

Etiming på nærløp. Dersom du får opp vinduet under er filene fra forrige løp flyttet, og du må oppgi hvor systemfilen ligger.

Corentium Rapport & Analyse SW v2.2. Installasjonsguide

GEOGEBRA (3.0) til R1-kurset

Brukermanual for Optic Book 4800 V 4.0.2

PowerOffice Mobile Server

Avinstallere Java: Windows 7 og eldre versjoner

Installasjonsveiledning Lenovo ThinkPad Edge. ADCom Data - Molde

DDS-CAD. Oppsett av student-/demolisens

TEE/KMB. AVR Studio 4. Brukermanual og installasjonsveiledning

Brukermanual for Optic Book 3800 V 4.0.1

Printer Driver. Denne veiledningen beskriver installasjonen av skriverdriveren for Windows Vista. Før denne programvaren brukes

Oppgradere HP ElitePad 900 fra Windows 8.0 til 8.1

Test av USB IO-enhet. Regulering og HMI.

Brukerhåndbok Veiledning for fastvareoppdatering

Installasjonsmanual for 1 st part TAPI

Hurtigguide for oppsett av Foscam FI98xx HD kamera

Din bruksanvisning SHARP AR-M256/M316/5625/5631

HJEMMEKONTOR. Del 1 Installasjon på jobb Norsk Helsenett SF

6105 Windows Server og datanett

BILAG TIL SMARTNAV 4 SmartNAV 4 en veileder for bruk og innstillinger

Digital 2d-tegning og vinylkutting

og Java

Innholdsfortegnelse. Side 118 av 135

Pålogging til Porten og Portalen. Stavanger bispedømme

Remote Desktop Services

Zelio Soft grunnkurs. Zelio Logic reléerstatter programmering

Bergeland IKT. Elev guide

BRUKERMANUAL. Telsys Online Backup

For å sjekke at Python virker som det skal begynner vi med å lage et kjempeenkelt program. Vi vil bare skrive en enkel hilsen på skjermen.

Dwell Clicker 2. Manual

Installasjon av talemeldinger

ELE610 Prosjekter i robotteknikk, vår 2017.

Løpende strekmann Erfaren Videregående Python PDF

Humanware. Trekker Breeze versjon

VPN for Norges idrettshøgskole, Windows

Suzuki ECU Programming System (SEPS)

Grafisk løsning av ligninger i GeoGebra

Denne versjonen av Minetegn blir synkronisert med Minetegn-appen slik at du får se de samme tegnene i nettversjonen og i Minetegn-appen.

Trinnvis oppgraderingsveiledning for Windows 8 KONFIDENSIELT 1/53

Telio Bredbåndstelefoni Installasjons- & brukerveiledning Telio SoftPhone

Installasjonsveiledning Visma Avendo, versjon 5.2

Nordic Eye Solo PC og MAC

Brukerhåndbok Programområde

Generell informasjon om faget er tilgjengelig fra fagets nettside, og for øvinger brukes It s learning. med Kalman-filter og RLS.

Alternativ dag for teoriforelesning. Intro. Torsdag 12:15-14:00 R1

Communicate SymWriter: R1 Lage en tavle

Spørsmål: Hvordan setter jeg opp routeren uten cd? Svar: Routeren kan settes opp manuelt med denne steg for steg guiden nedenfor

Steg 0: Installere Pygame Zero

Generell informasjon om faget er tilgjengelig fra It s learning.

Lync Denne guiden tar utgangspunkt i at Lync 2013 er installert på pcen.

Kjenn din PC (Windows7)

I denne oppgaven blir du introdusert for programmeringsspråket JavaScript. Du skal gjøre den klassiske oppgaven Hei verden, med en katt.

1. NetBeans IDE: Lage en enkel mobilapplikasjon

BRUKERVEILEDNING FOR MC50.

PC-AXIS Brukerveiledning for tabelluttak og bearbeiding av data

KONTOR påloggingsguide / Oppsett av Outlook 2010

Installere JBuilder Foundation i Windows XP

AD Travel funksjonsbeskrivelse

Oppgradering av Viva. Versjon 4.0

Transkript:

Stavanger, 23. januar 2017 Det teknisknaturvitenskapelige fakultet ELE610 Prosjekter i robotteknikk, vår 2017. Bildefangst-del, oppgave 2. Hensikten med denne øvingen er å kunne bruke et ueye XS kamera sammen med Matlab og Python. 2 Bildefangst med ueye kamera I denne øvinga skal vi bruke ueye XS kamera fra IDS, se IDS µeye for mer informasjon om kamera. Dere bør installere og bruke de siste kameradrivere fra IDS, de er tilgjengelige her: IDS downloads, i januar 2017 er det versjon 4.81 som er siste Windowsversjon. Det er også drivere for Linux. Dere må registrere dere hos IDS for å få laste ned drivere, eller hvis dere har en USB minnepinne kan dere kopiere (Windows ver. 4.81) fra Karl sin PC, 429 MB. Øvingene nedenfor har jeg testet på en bærbar PC, med Windows 7 OS og Matlab 2012b, altså på grensen til foreldet Matlab software. Dere har sannsynligvis nyere PC og software, og det kan da være litt annerledes for dere, forhåpentligvis bedre og enklere men ikke nødvigvis slik. Uansett er mye av hensikten med denne oppgaven å bruke ueye XS kamera sammen med ulik hardware og software. 2.1 Bruke program fra IDS Installer drivere og programmer fra IDS på en PC, fortrinnsvis deres egen bærbare PC men stasjonære PC på lab E464 skal også kunne brukes. Det er nå installert driver på PC nærmest tavla. Koble kamera til USB-port på PCen og start IDS Camera Manager. Videre forklarer jeg det ut fra eget oppsett, jeg har versjon IDS Camera Manager ver. 4.81.0.0 64 bit og den kom greit opp. Nå skal tilkoblet kamera vise i Camera list øverst i skjermbilde. Midt i skjermbilde er flere knapper, se på Karl Skretting, Institutt for data- og elektroteknikk (IDE), Universitetet i Stavanger (UiS), 4036 Stavanger. Sentralbord 51 83 10 00. Direkte 51 83 20 16. E-post: karl.skretting@uis.no.

Figur 1: Bilde tatt med ueye Cockpit. Det viser skjermbilde med nettopp ueye Cockpit programmet kjøre. både generell informasjon og kamera informasjon. Deretter kan en dobbelklikke på linjen med kamera og da kommer et nytt program fram, ueye Cockpit. Her er det 5 store ikoner midt i boksen, og nede til høyre to knapper. Trykk på Help og IDS brukermanual kommer opp (HTML-fil vises i nettleser). I brukermanualen er det mye å lese, både nyttige ting og mer tekniske spesielle ting som ikke er interessante for oss i første omgang. Del A har litt grunnlegge om kamera, se litt gjennom det som står der. Del B er om bruk av kamera og denne delen er mest interessant i første omgang, spesielt Quick start delen. Se på de ulike alternativene i ueye Cockpit programmet. Til slutt lagrer dere et eller flere bilder, gjerne tatt med litt ulike innstillinger og ser på eventuelle ulikheter. Ta gjerne med noen relevante kommentarer til det dere observerer. Ta et bilde med i rapporten. Med ueye Cockpit programmet, og når en trykker på ikonet for Open camera så kommer bildet fram. Jeg gjengir i figur 1 et bilde tatt med lav oppløsning (VGA). Dessverre har ikke programmet (eller hardware) vært helt stabilt. Det har ht at IDS-drivere eller PCen ikke har fått kontakt med kamera, det har da 2

oftest fungert etter en ny oppstart av PC. En gang har jeg også opplevd at PCen har låst seg fullstig, blå-skjerm på PC. 2.2 Bruke ueye kamera fra Matlab Oppgaven er å bli godt kjent med hvordan ueye kamera og Matlab best brukes for å ta bilde. En oppgave her er å ta bilde av et A4-ark som ligger på bordet. Kamera skrus da av holderen på testbrettet og holdes med handa en halvmeter eller deromkring over bordet når bildet tas. Deretter gjøres litt grunnlegge bildebehandling for å finne hjørnene for arket i bildet, det er altså pixelposisjoner en er ute etter, hvor er arket i koordinatsystemet for bilde. Videre, hvis en ønsker litt ekstra utfordringer, kan en finne posisjon og orientering for kamera, senter i linsa, i forhold til et aksesystem der origo er midt på arket, x-akse parallell med lang kantside og y-kase parallell med kort kantside og z-akse oppover. For å løse dette parktiske og konkrete problemet må dere bruke geometrikunnskap dere lærte i maskinsyndelen av bildebehandlingsfaget. Det er nødvig å tegne god figur der avstander og vinkler markeres tydelig. En må videre formulere problemet tydelig med matematiske ligninger, og forklare klart og tydelig hvordan en vil løse dette problemet. Først når det er gjort kan en forsøke å implementere løsning i Matlab. En må ha Image Acquisition Toolbox (IAT) installert for å bruke IDS ueye kamera fra Matlab, vel, i hvert fall er det det som brukes i eksempelet her. Sjekk om du har IAT installert, og hvis ikke installler denne pakken fra Matlab si nettside. Lisens er fra UiS men det kan være problematisk om mange kjører dette samtidig. Et godt alternativ er å be leverandør, MathWorks, om en prøvelisens, få det, og installere IAT. Prøvelisensen er sannsynligvis gyldig i 30 dager og det er da tilstrekkelig i denne sammenheng. Der kan en få hardware informasjon med imaqhwinfo(.), se help og se det dere får. Det er ikke usannsynlig at dere har flere installerte adaptors, det er ofte innbygd kamera i PCen også, og hvert kamera kan ha flere adaptors (drivere?). Jeg får at mange av adaptorene ikke har noen deviceid tilknyttet, de er da ikke tilgjengelige for bruk. Den ene, info = imaqhwinfo( winvideo ), hadde derimot to eller tre deviceid tilknyttet og en kan finne mer informasjon om disse: dev1 = imaqhwinfo( winvideo,1). En må gjerne starte med kamera innebygd i PCen, og koble Matlab til dette med vid = videoinput( winvideo,1, RGB24 320x240 ) og se på resultat med preview(vid). Dette virker greit på min PC. get(vid) viser parametrene og verdier for dette objektet. Videre kan en starte bildefangst start(vid);, hente en serie med bilder (default er 10 bilder) data = getdata(vid); og avslyutte med å stoppe bildefangst stop(vid);. Ønskes bare et enkelt bilde kan en sette set(vid, FramesPerTrigger,1); 3

og så ta bilde med start(vid); A = getdata(vid); stop(vid);. Bilde kan så vises image(a) og behandles videre. Når IDS ueye kamera er koblet til en USB-port på PCen, drivere installert og IDS ueye Cockpit programmet virker greit, så skal det også virke greit fra Matlab. Nå fikk jeg opp et tredje device for winvideo adaptoren. Dette er IDS ueye kamera, og jeg kan nå finne mer informasjon med dev3 = imaqhwinfo( winvideo,3). Jeg ser at DeviceName nå har med serienummeret på ueye kamera. SupportedFormat feltet innehelder et cell array med 14 elementer. Disse kan vises med disp(dev3.supportedformats). Jeg kan velge vid = videoinput( winvideo,3, RGB24 1280x960 ) og så ta et bilde med set(vid, FramesPerTrigger,1); og start(vid); A = getdata(vid); stop(vid);. Jeg ser at bildet kommer opp ned og tekst blir speilvt i forhold til slik det ble med IDS Cockpit programmet. Dette kan kanskje enklest ordnes med A = flipdim(a,1);, i nyere Matlab-versjoner A = flip(a,1);. Jeg prøver litt, og får fram en del bilder men ikke alltid helt som ønsket. Det er ikke direkte enkelt å få oversikt over muligheter med Image Acquisition Toolbox, men med det grafiske grensesnittet imaqtool så får en god hjelp. En kan blant annet se på sesjons-loggen, der vises kommandoer som er brukt. Videre, når bildet er lest inn i Matlab, kan en prøve litt bildebehandling for å identifisere noen punkt i motivet, hjørner i et A4 ark her. I øving 1 var bildebehandling lengst mulig gjort med gråtonebilder, her går vi til sort-hvittbilde straks. % finner kanter E = edge(a, canny,0.25); % gjør fet og fjerne smådeler BW = bwareaopen(imdilate(e,ones(3)), 500, 8); % beholder kun største del BW = beholdstorstedel(bw); % og tar tilbake til kantbilde E = E & BW; % figure(1); clf; colormap(gray); imagesc(e); axis equal; title(sprintf( E %4i x %4i har %i kantpiksler.,size(e), nnz(e) )); % radon, eller alternativ hough(), finner linjer theta = 0:179; [R, xp] = radon(bw, theta); P = houghpeaks(floor(r), 4, NHoodSize,[31,9], Threshold,50 ); % finner der linjer krysser hverandre C = zeros(0,2); % corners cen = floor(size(bw)/2); for k1 = 1:size(P,1) 4

lin1 = [xp(p(k1,1)), theta(p(k1,2))]; for k2 = (k1+1):size(p,1) lin2 = [xp(p(k2,1)), theta(p(k2,2))]; x = round(this_linjekryss(lin1, lin2) + cen); if ((x(1) >= 1) && (x(1) <= size(e,1)) &&... (x(2) >= 1) && (x(2) <= size(e,2))); C = [C; x]; %#ok<agrow> % En kunne muligens fått mer presis lokalisering av hvert hjørne % ved å se på et utsnitt av bilde omkring hvert hjørne og finne % linjer med høyere oppløsning for vinkler. % En bør videre sortere hjørnene i C i rett rekkefølge figure(1); hold on; % men her plottes de kun for k = 1:size(C,1) plot(c(k,2), C(k,1), yo, MarkerSize,12, MarkerFaceColor, y ); 5

I koden ovenfor er det brukt noen egne funksjoner, this linjekryss() er som i øving1 mens beholdstorstedel() er som nedenfor. function BW = beholdstorstedel(bw) cc = bwconncomp(bw, 8); k_largest = 1; k_size = 0; for k = 1:cc.NumObjects if (numel(cc.pixelidxlist{k}) > k_size) k_size = numel(cc.pixelidxlist{k}); k_largest = k; % beholder kun største del for k = [1:(k_largest-1),(k_largest+1):cc.NumObjects] BW(cc.PixelIdxList{k}) = 0; return 2.3 Bruke ueye kamera fra Python Dere får prøve hva dere får til med Python og ueye kamera. Klare dere å gjøre det samme som i Matlab er det meget bra. Jeg vil sette pris på om dere i rapporten tar med litt Python kode som viser hva dere har fått til, gjerne også resultat. 6