scharfis_brain
2nd November 2003, 22:18
Which Image looks best on your TFT?
http://home.arcor.de/scharfis_brain/samples/clearscale-comparision.jpg
Some time ago there was a tool called clearscale, that was able to downsize images with sub-pixel accuracy. But unfortuantely, this tool is unfindable now. so I decided to implement it myself. Due to my lacking programming knowledge, I did this with avisynth.
For detail on sub-pixel-rendering, see http://grc.com/cttech.htm
function clearscale(clip i, int breite, int hoehe)
{
converttorgb32(i)
bicubicresize((breite*3),hoehe).addborders(0,0,3,0)
x=generalconvolution(0,"
0 0 0 0 0
0 0 0 0 0
1 2 6 2 1
0 0 0 0 0
0 0 0 0 0")
R=crop(x,0,0,-3,0).
\pointresize(breite*6,hoehe).pointresize(breite,hoehe).
\RGBadjust(1,0,0,1)
G=crop(x,1,0,-2,0).
\pointresize(breite*6,hoehe).pointresize(breite,hoehe).
\RGBadjust(0,1,0,1).levels(0,1,255,255,0)
B=crop(x,2,0,-1,0).
\pointresize(breite*6,hoehe).pointresize(breite,hoehe).
\RGBadjust(0,0,1,1).levels(0,1,255,255,0)
subtract(subtract(R,G),B)
}
http://home.arcor.de/scharfis_brain/samples/clearscale-comparision.jpg
Some time ago there was a tool called clearscale, that was able to downsize images with sub-pixel accuracy. But unfortuantely, this tool is unfindable now. so I decided to implement it myself. Due to my lacking programming knowledge, I did this with avisynth.
For detail on sub-pixel-rendering, see http://grc.com/cttech.htm
function clearscale(clip i, int breite, int hoehe)
{
converttorgb32(i)
bicubicresize((breite*3),hoehe).addborders(0,0,3,0)
x=generalconvolution(0,"
0 0 0 0 0
0 0 0 0 0
1 2 6 2 1
0 0 0 0 0
0 0 0 0 0")
R=crop(x,0,0,-3,0).
\pointresize(breite*6,hoehe).pointresize(breite,hoehe).
\RGBadjust(1,0,0,1)
G=crop(x,1,0,-2,0).
\pointresize(breite*6,hoehe).pointresize(breite,hoehe).
\RGBadjust(0,1,0,1).levels(0,1,255,255,0)
B=crop(x,2,0,-1,0).
\pointresize(breite*6,hoehe).pointresize(breite,hoehe).
\RGBadjust(0,0,1,1).levels(0,1,255,255,0)
subtract(subtract(R,G),B)
}