Rotace obrazku se zvetsenim rozliseni

Jan Kasprzak kas na fi.muni.cz
Pondělí Březen 14 10:07:19 CET 2005


Miroslav Maiksnar wrote:
: Kdyz stejnou operaci provedu poradnym algoritmem, tak uz tam vidim 
: antialiasovane cary, ale bohuzel diky tomu, ze pixel na uhlopricku je vetsi 
: nez na vysku, tak ty cary splyvaji dohromady. Proto chci behem te rotace 
: zvetsit rozliseni aby byly ty cary jasne oddelene. Kdyz ovsem nejprve zvetsim 
: obrazek a pak ho orotuji, tak budou cary 2x po sobe prevzorkovane diky cemuz 
: budou vice rozmazane nez kdyz se zvetseni provede v ramci rotace.
: 
: Uz me nenapada jak jasneji vysvetlit co chci.
: 
	No, zkousejte dal :-) Ja jsem mysel ze puvodnim zadanim bylo zvetsit
a orotovat obrazek v jednom kroku, aby to bylo co nejmene ztratove.
Co popisujete ted ovsem nema z bezztratovosti (a z tim co cituji dale)
nic spolecneho:
: >
: > : Ja ten obrazek umim orotovat, ted mi jde opravdu jenom o tu minimalizaci
: > : ztraty obrazove informace (tj. rotace spojena se zvetsenim rozliseni).
: >
	Cili je-li teda zadani orotovat obrazek tak, aby "to vypadalo
dobre", je treba asi popsat co znamena "aby to vypadalo dobre". Coz si
myslim ze tady jeste nepadlo. Uvedl jste pouze priklad toho, jak to
nechcete delat.

	Co teda napriklad zvetsit obrazek o celociselny faktor
(treba 16x nebo 256x; bezztratove), pak orotovat (bezztratove)
a zmensit zpet.

: >  Jo. Jak jsem rekl, pri rotovani vhodnym algoritmem zadna ztrata
: > informace nevznika. Cili doporucuju (zejmena pokud budete zvetsovat
: > vyrazne) nejprve zvetsit a pak rotovat.
: 
: Zkusim to vysvetlit jeste jednou trochu jinak. Pri tomto zpusobu rotace dojde 
: ke ztrate kvality obrazu vlivem aliasingu, coz pro zpracovani fotografii pro 
: tisk opravdu nechci (nechce to nikdo a proto to za tim ucelem ani nikdo 
: nepouziva). Je mi uplne ukradene zachovani binarni informace, ta fotka diky 
: tomu nebude vypadat lip, ale naopak hur.

	Aha. Jak pisu nahore, zkuste nejak definovat, co teda znamena, ze ma
fotka "vypadat lip".

	Taky zkuste pocitat z tim, ze je-li vstupem skutecne
fotka z digitalniho fotaku, tak ta uz sama o sobe ma problem aliasingu
v sobe, protoze pixel na svetlocitlivem cipu nezabira ani nahodou
100% plochy odpovidajiciho ctverce. Kdyz dobre, tak pixel obsahuje
mene nez 33% plochy odpovidajiciho ctverce pro kazdou barvu, a to
jsou-li citlive body organizovany takto:

RGB RGB RGB RGB RGB
RGB RGB RGB RGB RGB

	Daleko casteji jsou ale pixely organizovany takto:

RGRGRGRGRGRGRGRGRGRG
GBGBGBGBGBGBGBGBGBGB

Cili jeden pixel je

RG
GB

A tedy barvy obsahuji 25, 50 a 25% (maximalne!) plochy jednoho pixelu.
Pokud si chcete hrat na to, ze na na digitalnim fotaku uvidite uplne spravne
svislou caru 1 pixel sirokou (nebo dokonce ze svislou caru ktera Vam
na fotce zrovna vysla 1 pixel siroka, uvidite stejne i na dalsi fotce),
tak to neni pravda ani nahodou. Cili pak nema cenu se vubec zabyvat
nejakym aliasingem na urovni jednotlivych pixelu pri rotaci - fotak
stejne na urovni jednotlivych pixelu nepracuje tak presne jak si myslite.

	Mate-li nejakou profesionalni stredo/velkoformatovou datastenu
a delate fotky ve trech pruchodech, tak se omlouvam. Pak ma smysl
chtit rotaci se zachovanim kvality na urovni jednotliveho pixelu
(ale popiste co si pod tim predstavujete).

-Yenya

-- 
| Jan "Yenya" Kasprzak  <kas at {fi.muni.cz - work | yenya.net - private}> |
| GPG: ID 1024/D3498839      Fingerprint 0D99A7FB206605D7 8B35FCDE05B18A5E |
| http://www.fi.muni.cz/~kas/   Czech Linux Homepage: http://www.linux.cz/ |
> Whatever the Java applications and desktop dances may lead to, Unix will <
> still be pushing the packets around for a quite a while.      --Rob Pike <


Další informace o konferenci Linux