µCam- en pytteliten digitalkamera för bildbehandling
-
- Inlägg: 2436
- Blev medlem: 28 januari 2007, 18:45:40
- Ort: Kungsbacka
Re: µCam- en pytteliten digitalkamera för bildbehandling
Problemet är fortfarande minne, finns ingen arm, vad jag vet som har över 32KiB RAM och är under 6x6mm stor
Och just nu är det länken mellan PC och kort som är begränsande, inte mellan kamera och PIC.
En FPGA är för stor, finns iof små men de är nog i bga.
Och just nu är det länken mellan PC och kort som är begränsande, inte mellan kamera och PIC.
En FPGA är för stor, finns iof små men de är nog i bga.
-
- Inlägg: 2436
- Blev medlem: 28 januari 2007, 18:45:40
- Ort: Kungsbacka
Re: µCam- en pytteliten digitalkamera för bildbehandling
Jag har lekt lite med YUV formatet idag.
Resultat:
Med alla kanaler: Med enbart Y(Typ samma som svartvitt): Med enbart UV(Allt förutom det svartvita, alltså enbart färg): Ska testa att variera antalet bitar, nu är det YUV 422 alltså 8bitar för vadera kanal, men man skickar bara UV för varannan pixel och Y för varje, så man antar att 2 pixlar bredvid varandra har ungefär samma färg.
Jag antar att man för så för att ögat har sämre upplösning i färg än i svartvitt.
Så om man bara skickar Y som i bilden ovan "sparar" man 50% minne/tid/data.
Fast nu skickar jag alltid allt och försummar kanalerna vid uppritning i C#
Edit:
Slänger upp lite bilder på resultatet med reducerad Y data:
6bitar för varje Y: 4bitar: 2bitar: För 6 bitar blir det (2/3)pixlar för varje byte data(givet ingen färgdata)
För 4 bitar blir det 2pixlar för varje byte data(givet ingen färgdata)
För 2 bitar blir det 4pixlar för varje byte data(givet ingen färgdata)
Resultat:
Med alla kanaler: Med enbart Y(Typ samma som svartvitt): Med enbart UV(Allt förutom det svartvita, alltså enbart färg): Ska testa att variera antalet bitar, nu är det YUV 422 alltså 8bitar för vadera kanal, men man skickar bara UV för varannan pixel och Y för varje, så man antar att 2 pixlar bredvid varandra har ungefär samma färg.
Jag antar att man för så för att ögat har sämre upplösning i färg än i svartvitt.
Så om man bara skickar Y som i bilden ovan "sparar" man 50% minne/tid/data.
Fast nu skickar jag alltid allt och försummar kanalerna vid uppritning i C#
Edit:
Slänger upp lite bilder på resultatet med reducerad Y data:
6bitar för varje Y: 4bitar: 2bitar: För 6 bitar blir det (2/3)pixlar för varje byte data(givet ingen färgdata)
För 4 bitar blir det 2pixlar för varje byte data(givet ingen färgdata)
För 2 bitar blir det 4pixlar för varje byte data(givet ingen färgdata)
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: µCam- en pytteliten digitalkamera för bildbehandling
Kika på wikipedias "color depth" artikel.
För YUV så kan man reducera mängden data i UV delen utan att det påverkar bildkvalitén så mycket. En annan metod är HAM där man istället för att uppdatera YUV datat i varje pixel så ändrar man endast en av dem för nästa pixel osv.
För färg skulle jag nog provat 2:1:1 eller 5-bit för gråskala. Eller någonstans där.
För YUV så kan man reducera mängden data i UV delen utan att det påverkar bildkvalitén så mycket. En annan metod är HAM där man istället för att uppdatera YUV datat i varje pixel så ändrar man endast en av dem för nästa pixel osv.
För färg skulle jag nog provat 2:1:1 eller 5-bit för gråskala. Eller någonstans där.
-
- Inlägg: 2436
- Blev medlem: 28 januari 2007, 18:45:40
- Ort: Kungsbacka
Re: µCam- en pytteliten digitalkamera för bildbehandling
Jag skrev en jätteenkel färg filter algoritm:
iprincip, här är resultatet på en sparkfun låda:
Det är någon bugg med den nedersta raden, vet inte varför. funderar på att bara utesluta den istället för att felsöka.
Kod: Markera allt
D = U - 128;
E = V - 128;
if ((D < 0) && (E > 20))
röd
else
inte röd
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
-
- Inlägg: 2436
- Blev medlem: 28 januari 2007, 18:45:40
- Ort: Kungsbacka
Re: µCam- en pytteliten digitalkamera för bildbehandling
Har nu jobbat vidare på filterbiten och laggt till erroderings filter, färgfilter är implementerat i µC nu och jag ska implementerna errode snart.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.
Re: µCam- en pytteliten digitalkamera för bildbehandling
OBS att HAM var från början tänkt att användas med YUV-signaler istället för RGB om jag förstått rätt, och borde nog också funka bättre med YUV.blueint skrev:Kika på wikipedias "color depth" artikel.
För YUV så kan man reducera mängden data i UV delen utan att det påverkar bildkvalitén så mycket. En annan metod är HAM där man istället för att uppdatera YUV datat i varje pixel så ändrar man endast en av dem för nästa pixel osv.
För färg skulle jag nog provat 2:1:1 eller 5-bit för gråskala. Eller någonstans där.
-
- Inlägg: 2436
- Blev medlem: 28 januari 2007, 18:45:40
- Ort: Kungsbacka
Re: µCam- en pytteliten digitalkamera för bildbehandling
Det blev svårt att se den röda plexibit jag tänkte ha som "boll" i YUV så det blir nog RGB istället.
I YUV så såg den min bordsbänk som röd, det skiljde knappt något mellan Röd plast och träbänk, labbar kanske mer med YUV senare.
Jag labbade lite och fick fram detta filtret:
(Röd/(Grön+Blå))>tröskel
Resultat: Bilderna ovanifrån:
Rå data, data efter filtret och errodering, histogram över (Röd/(Grön+Blå)) för orginal bilden. Om man tar bort bollen: Och med den översta bilden som (Röd/(Grön+Blå)) Så filtret funkar bra för rött, ska få den att se några färger till så man kan ha ett tex grön mål, en blå center linje eller något.
Målet är ju alltså att spela fotboll med robotar, så därför måste de se boll, mål osv. Jag har aldrig spelat fotboll själv så jag vet bara att boll + mål = poäng.
I YUV så såg den min bordsbänk som röd, det skiljde knappt något mellan Röd plast och träbänk, labbar kanske mer med YUV senare.
Jag labbade lite och fick fram detta filtret:
(Röd/(Grön+Blå))>tröskel
Resultat: Bilderna ovanifrån:
Rå data, data efter filtret och errodering, histogram över (Röd/(Grön+Blå)) för orginal bilden. Om man tar bort bollen: Och med den översta bilden som (Röd/(Grön+Blå)) Så filtret funkar bra för rött, ska få den att se några färger till så man kan ha ett tex grön mål, en blå center linje eller något.
Målet är ju alltså att spela fotboll med robotar, så därför måste de se boll, mål osv. Jag har aldrig spelat fotboll själv så jag vet bara att boll + mål = poäng.
Du har inte behörighet att öppna de filer som bifogats till detta inlägg.