View Full Version : Avisynth-based picture editor, is it feasible?
Chainmax
25th December 2007, 23:32
Given the (comparatively) poor results that commercial alternatives give to Avisynth filters, I was wondering how feasible would it be to create a standalone application that uses modified version of existing Avisynth filters to treat photographs (so, 2848 x 2136 and up). Besides the modified versions of the filters, what would be needed to do it?
Dark Shikari
25th December 2007, 23:47
Why would one need modified filters? :p
You can do stuff like this with the existing filters:
Low-quality AA:
nnediresize_YV12()
BicubicResize(last.width/2,last.height/2)
Medium-quality AA:
nnediresize_YV12()
nnediresize_YV12()
BicubicResize(last.width/4,last.height/4)
High-quality AA:
nnediresize_YV12()
nnediresize_YV12()
nnediresize_YV12()
BicubicResize(last.width/8,last.height/8)
"Fake detail" grain for supersampling:
addgrain(10,0.7,0.7)
addgrain(15,0.4,0.4)
addgrain(20,0.2,0.2)
Chainmax
26th December 2007, 12:56
If I'm not mistaken, some of the filters don't support such high resolutions. BTW, why using nnediresize_YV12() and not nnediresize2x(true,true,true)?
Dark Shikari
26th December 2007, 14:55
If I'm not mistaken, some of the filters don't support such high resolutions. BTW, why using nnediresize_YV12() and not nnediresize2x(true,true,true)?No real reason. I just tend to work in the YV12 colorspace.
Chainmax
26th December 2007, 20:01
So do I, but nnediresize2x seems to work on YV12 as well.
foxyshadis
26th December 2007, 20:52
what would be needed to do it?
More memory. Looooots more memory. 64-bit plugins will help. :p That's the only constraint on how large an image you can process.
Otherwise you have to slice up your images beforehand, I do this when I need to descreen 50 megapixel posters. Your 6 megapixel stuff shouldn't be a problem for a basic clean+sharpen script. Oh, for digital cameras with bayer interpolation this isn't important, but for images with full chroma resolution you might want to keep two separate images, one for luma and one double-sized for chroma before conversion to YV12, so you don't lose chroma resolution unnecessarily.
Soulhunter
27th December 2007, 15:54
- Photo Denoise (http://forum.doom9.org/showthread.php?t=119831)
- Fritz Photo [German] (http://forum.gleitz.info/showthread.php?t=33835)
Bye
ankurs
27th December 2007, 20:24
wouldnt a GUI of some sorts (application) like the filter box of meGUI be better for noobs also :p just my 2 cents :) i"m up for it
P.S : Photo Denoise looks promising :D.. thanks for pointing that out soulhunter ;)
Chainmax
29th December 2007, 03:31
More memory. Looooots more memory. 64-bit plugins will help. :p That's the only constraint on how large an image you can process.
Otherwise you have to slice up your images beforehand, I do this when I need to descreen 50 megapixel posters. Your 6 megapixel stuff shouldn't be a problem for a basic clean+sharpen script. Oh, for digital cameras with bayer interpolation this isn't important, but for images with full chroma resolution you might want to keep two separate images, one for luma and one double-sized for chroma before conversion to YV12, so you don't lose chroma resolution unnecessarily.
RBG colorspace support would be a good reason for needing modified versions of the filters.
Soulhunter: PhotoDenoise looks good, but the whole idea for wrapping everything up in a GUI is for realtime checking of the results so that filter settings can be altered on-the-fly. Maybe pairing it up with avsp would help in that regard, although Fritz Phot sounds like a better idea (whatever it is they are saying :)).
Soulhunter
29th December 2007, 13:39
RBG colorspace support would be a good reason for needing modified versions of the filters...
Already suggested to use RGBHack (http://soulhunter.chronocrossdev.com/data/RGBHack.zip) for FritzPhoto... This way you can filter in RGB with YV12 filters... It turns the R, G, B channel into 3x Y [YV12] channels for processing and turns em back to RGB afterwards!
...but the whole idea for wrapping everything up in a GUI is for realtime checking of the results so that filter settings can be altered on-the-fly.
Suggested this as well for FritzPhoto... ^^
Bye
Fizick
29th December 2007, 21:22
it will be useful to have JPEGSource filter in avisynth to read jpeg YUV directly, without RGB conversion.
most jpg from real cameras are sort of YUY2 (4:2:2),
and YV12 (4:2:0), so it is direct,
but some soft jpeg coders can produce non-decimated chroma YUV 4:4:4 (wait AviSynth 2.6)
IanB
29th December 2007, 21:40
RGBHack functionality is now built in (since 2.56) with the ShowRed(), ShowGreen(), ShowBlue() and MergeRGB() plus MergeARGB() filters.
Archimedes
7th January 2008, 20:19
Basicly, i use Fritz Photo for resizing and sharpening photos from the digital camera (batch processing). Spline36Resize and LimitedSharpen (with low strength values) produces good results. For denoising i’m using FFT3Dfilter.
Soulhunter
7th January 2008, 20:34
RGBHack functionality is now built in (since 2.56) with the ShowRed(), ShowGreen(), ShowBlue() and MergeRGB() plus MergeARGB() filters.
Oh, didnt know that... Thanks for the hint! :]
Bye
*.mp4 guy
8th January 2008, 00:51
More memory. Looooots more memory. 64-bit plugins will help. :p That's the only constraint on how large an image you can process.
Deinately, I run Into memory problems on SD content all the time, and 3.4GB isn't going to be nearly enough for a decent sized photo.
Dark Shikari
8th January 2008, 00:52
Deinately, I run Into memory problems on SD content all the time, and 3.4GB isn't going to be nearly enough for a decent sized photo.Of course, photos don't need temporal filters, so you'll need much less memory than for processing ordinary video.
*.mp4 guy
8th January 2008, 03:49
I run out of ram without using any temporal filters quite often. Temporal filters actually aren't that bad ram wise, and that includes everything short of mcbob.
vBulletin® v3.8.5, Copyright ©2000-2012, Jelsoft Enterprises Ltd.