ycbcr = rgb2ycbcr(rgb)
Wolfgang Schechinger
hubahopp at gmx.de
Mon Aug 4 02:48:43 CDT 2008
Dear Bharat,
as you probably want integers anyway, have you considered to drop the lowest 8 bits or to do the whole conversion with integers?
Wo
instead of dividing by 256, -------- Original-Nachricht --------
> Datum: Mon, 4 Aug 2008 10:25:17 +0530
> Von: "bharat pathak" <bharat at arithos.com>
> An: help-octave at octave.org
> Betreff:
> I have written a function to convert rgb to ycbcr. if I call this function
> with rgb matrix being 512x512x3 then it takes 2.4 seconds to execute
> this code. what is the way in which I can make this run faster?
>
> I have also attached the main program where this function is called.
>
> #######################################################################
>
>
> function ycbcr = rgb2ycbcr(rgb)
>
> red = rgb(:,:,1);
> grn = rgb(:,:,2);
> blu = rgb(:,:,3);
>
> y = round((77*red + 150*grn + 29*blu)/256) + 16;
> cb = round((-44*red - 87*grn + 131*blu)/256) + 128;
> cr = round((131*red - 110*grn - 21*blu)/256) + 128;
>
> ycbcr(:,:,1) = y;
> ycbcr(:,:,2) = cb;
> ycbcr(:,:,3) = cr;
>
> endfunction
>
>
--
Ist Ihr Browser Vista-kompatibel? Jetzt die neuesten
Browser-Versionen downloaden: http://www.gmx.net/de/go/browser
More information about the Help-octave
mailing list