File originale(400 × 1 196 pixel, dimensione del file: 425 KB, tipo MIME: image/png)

Logo di Commons
Logo di Commons
Questo file e la sua pagina di descrizione (discussione · modifica) si trovano su Wikimedia Commons (?)

Dettagli

Descrizione YUV colorspace
Data
Fonte Concept from en:Image:YUV_components.jpg, original public domain image at en:Image:Barns_grand_tetons.jpg
Autore User:Brianski
Licenza
(Riusare questo file)
Public Domain

The picture is of the John Moulton Barn at the base of the Teton Range.

Raison d'être

This is a cleaner/more acurate version of en:Image:YUV_components.jpg. The improvements are:

  • Use a lossless compression algorithm, PNG removing jpeg artifacts
  • Don't scale U, V to extreme values - use the raw value, which more closely approximates the chroma component
  • Fix the inverted polarity of U, V components

Generation

To generate this map Brian Szymanski used this perl script, and then ran optipng with a full search to shrink the filesize. If you want to understand the below code, you should probably use perltidy - the code is mostly here for my reference, but it is wrong. The first channel of the blue/yellow map has to be set to U as well and the third channel of the red/green map has to be set to 0.5. I will fix it soon and update the image.

perl -e 'use strict; use warnings; use GD; GD::Image->trueColor(1);
my %color_cache;
sub cached_allocate { my $img = shift; my @rgb = @_;
   my $rgb = join(",", @rgb);
   $color_cache{$rgb} = $img->colorAllocate(@rgb) unless($color_cache{$rgb});
   return $color_cache{$rgb};
}

my $img = GD::Image->new("barn.png");
my ($height, $width) = ($img->height, $img->width);
my $yuv_img = GD::Image->new($width, $height*4);
foreach my $y (0..$height-1) {
   foreach my $x (0..$width-1) {
      my ($r, $g, $b) = map { $_ / 256 } my @rgb = $img->rgb($img->getPixel($x, $y));
      my $Y = 0.299*$r+0.587*$g+0.114*$b;
      my $U = 0.436*($b-$Y)/(1-0.114);
      my $V = 0.615*($r-$Y)/(1-0.299);
      $Y *= 256;
      $U += .436; $U *= (256/.872);
      $V += .615; $V *= (256/1.23);
      ($Y, $U, $V) = map { int(0.5+$_) } ($Y, $U, $V);
      die "YUV: $Y,$U,$V" if (($Y > 255) or ($U > 255) or ($V > 255));
      $yuv_img->setPixel($x, $y, cached_allocate($yuv_img, @rgb));
      $yuv_img->setPixel($x, $height+$y, cached_allocate($yuv_img, $Y, $Y, $Y));
      $yuv_img->setPixel($x, 2*$height+$y, cached_allocate($yuv_img, 0, 255-$U, $U));
      $yuv_img->setPixel($x, 3*$height+$y, cached_allocate($yuv_img, $V, 255-$V, 0));
   }
};
print $yuv_img->png' >barn-yuv.png

Licenza

Public domain Io, detentore del copyright su quest'opera, la rilascio nel pubblico dominio. Questa norma si applica in tutto il mondo.
In alcuni paesi questo potrebbe non essere legalmente possibile. In tal caso:
Garantisco a chiunque il diritto di utilizzare quest'opera per qualsiasi scopo, senza alcuna condizione, a meno che tali condizioni siano richieste dalla legge.

Didascalie

Aggiungi una brevissima spiegazione di ciò che questo file rappresenta

Elementi ritratti in questo file

raffigura

image/png

d3127a1d2ae6d38c684681282a72fe7b47e4f8a8

435 380 byte

1 196 pixel

400 pixel

Cronologia del file

Fare clic su un gruppo data/ora per vedere il file come si presentava nel momento indicato.

Data/OraMiniaturaDimensioniUtenteCommento
attuale07:11, 22 set 2007Miniatura della versione delle 07:11, 22 set 2007400 × 1 196 (425 KB)Brianski== Summary == {{Information |Description=YUV colorspace |Source=Adapted from en:Image:YUV_components.jpg |Date=2007/09/22 |Author=en:User:(3ucky(3all, updated by User:Brianski |Permission=Creative Commons Attribution or GFDL |see_also=[[barn

La seguente pagina usa questo file:

Utilizzo globale del file

Anche i seguenti wiki usano questo file:

  • Usato nelle seguenti pagine di az.wikipedia.org:
  • Usato nelle seguenti pagine di be.wikipedia.org:
  • Usato nelle seguenti pagine di cs.wikipedia.org:
  • Usato nelle seguenti pagine di da.wikipedia.org:
  • Usato nelle seguenti pagine di de.wikipedia.org:
  • Usato nelle seguenti pagine di en.wikipedia.org:
  • Usato nelle seguenti pagine di es.wikipedia.org:
  • Usato nelle seguenti pagine di fr.wikipedia.org:
  • Usato nelle seguenti pagine di ja.wikipedia.org:
  • Usato nelle seguenti pagine di ko.wikipedia.org:
  • Usato nelle seguenti pagine di nl.wikipedia.org:
  • Usato nelle seguenti pagine di pl.wikipedia.org:
  • Usato nelle seguenti pagine di ru.wikipedia.org:
  • Usato nelle seguenti pagine di tr.wikipedia.org:
  • Usato nelle seguenti pagine di uk.wikipedia.org:
  • Usato nelle seguenti pagine di zh.wikipedia.org: