Re: Bildkomprimering på AVR/PIC?
Postat: 9 april 2009, 19:29:20
Om bilden är 640 bytes bred behövs bara 640 bytes minne + några bytes med temporära variabler. Betrakta exemplet ovan som psuedokod. picture[] är ju insignalerna från sensorn, och tar alltså ingen plats förutsatt att bilden behandlas i realtid (vilket den ju måste göras). average[] och diff[] kan sparas i samma minnesutrymme om average[]-datan fylls från början av utrymmet och diff[]-datan fylls från slutet av utrymmet. Datan skickas kontinuerligt över serielinan med början från slutet av utrymmet.
Fördelen med att behandla hela raden på en gång istället för 20bytessnuttar är att blankingtiden i slutet av raden ger tid att behandla average[].
Ska bilden vara i färg förresten? Bayermönstret innehåller ju varannan pixel i rött/grönt respektive grönt/blått beroende på udda/jämn rad. Differensen mellan två närliggande är därför stor. Färgerna måste behandlas för sig.
Fördelen med att behandla hela raden på en gång istället för 20bytessnuttar är att blankingtiden i slutet av raden ger tid att behandla average[].
Ska bilden vara i färg förresten? Bayermönstret innehåller ju varannan pixel i rött/grönt respektive grönt/blått beroende på udda/jämn rad. Differensen mellan två närliggande är därför stor. Färgerna måste behandlas för sig.