Tein omaksi huvikseni taivaanvahdin syvän taivaan katselukohteille (sumut) seuraavan tempun. Toivottavasti tämä osuu oikeaan keskustelusäikeeseen.
Jos käytössäsi on joku ohjelmointiympäristö, jossa on valmis sorttauskirjastofunktio, niin koodi olisi tällainen:
I = imread('kohdekuva.png'); % Luetaan mielellään 16-bittinen png-kuva
[m,n,p] = size(I); % Kuvan dimensiot
for k = 1:p % Käydään RGB-värit läpi vuorotellen
M = I(:,:,k);
[S idx] = sort(M(:)); % Sortataan kuva
[S idx] = sort(idx); % Sortataan pikseleiden indeksit, mikä muodostaan väärävärikuvan alkuperäisestä
I(:,:,k) = reshape(idx,m,n);% Kirjoitetaan kuvan väritaso yli
end
I = I/(m*n); % Kuva sisältää värit 1:m*n, joten tallennusta varten jaetaan kuva maksimiarvollaan. Tallennetaan 16-bittiseen muotoon.
Tämä funktio siis tasoitaa kuvan histogrammin eli kukin pikseli saa uniikin väriarvon. Histogrammin tasoittaminen tarkoittaa kontrastin maksimointia. Toisin sanoen heikosti kuvasta erottuvat kaasupilvien osat loistavat nyt kirkkaissa väreissä, jotka ovat väärävärejä. Sumujen muodot kuitenkin erottuvat paremmin, mikä ehkä on tärkein anti. Tasoitettua histogrammia voit muokata edeleen kuvankäsittelyohjelmilla haluamaasi muotoon.
Itselläni ei ole kalustoa syvän taivaan kuvaamiseen, mutta voin tehdä tänne esimerkkikuvan, jos joku haluaa lainata orginaali-png:ään.