View Full Version : SoftSharpen 8.2 - avisynth script
leon1789
7th September 2009, 19:37
Hello.
I try to develop an avisynth script: SoftSharpen. The main idea consists to apply different effects on different areas of a picture: sharpening static areas, blurring motion, temporal and spatial denoising. With this strategy, SoftSharpen tries to preserve the compressibility of the video.
Some other processings are also implemented: deringing, debanding, deblocking, and an experimental antialiasing.
SoftSharpen is provided with some presets ("film","light","anim","vhs",...) in order to use the script easily. Some examples:
All options of SoftSharpen (except debanding and deblocking) are compatible with avisynth MT : use setMTmode(2,0).
SoftSharpen(Video, "Blur", "Sharp", "DeNois", "DeNoisT", "Move", "DeBan", "DeRin", "DeBl", "AA", "Overlap", "dct",
"Preset", "Fast", "Width", "Height", "Verbose", "Show")
Video.SoftSharpen() # medium process
Video.SoftSharpen(preset="film") # my favorite process
Video.SoftSharpen(preset="light") # weak process
Video.SoftSharpen(preset="vhs") # stronger process
Video.SoftSharpen(show=true) # to see detected areas on screen
Of course, some filters are required: MSharpen, ASharp, BlindPP (exported from DGDecode or mpeg2dec3 for example), Deen, GradFun2db (only for debanding), RemoveGrain, DCTFilter, MaskTools (v1 or better v2), and MVTools2.
All these filters (and many others!) can be downloaded from http://avisynth.org/mediawiki/External_filters or http://avisynth.org/warpenterprises .
If someone makes time to test it quickly, I would be happy to have his/her comments to improve this script (a "read me" file is included in the zip file).
Thanks :)
Download : click on this Link (http://leon1789.perso.sfr.fr/avisynth/) to obtain the last version
ChangeLog
version 7.8
new option Line (integer between 0 and 255) increases dark in lines. Useful especialy for anim. By default, Line=0 (no process)
version 7.7
minor modification of Sharp
versions 7.4 , 7.5 , 7.6
Optimised sharpening process.
The type of Sharp has changed (float now).
version 7.3
Optimization of the preset "light" (denoising & speed)
version 7.2
The type of DebrT has changed (float now).
version 7.1
RemoveGrain (mode 1, 2 or 27) is used for spatial denoising.
version 7.0
New option "Overlap" for a better compatibility with MDegrain[1,2,3] and AviSynth MT.
version 6.9
Experimental antialiasing (not perfect, but very fast)
Fixed a bug when "Sharp=0" in version 6.8 :eek:
version 6.8
Faster debanding.
Less constraint on the resolution: now, needs only mod4.
Optimised sharpening process.
version 6.7
Changed the "anim" preset (slower but better).
Now, use of UnDot at the end of the script.
Some optimizations.
version 6.6
Changed the blurring process: now, it is less destructor, but always efficient.
version 6.5
Fixed a bug when "fast=true". Anyway, prefer "fast=false" (except for anim perhaps).
BigDid
7th September 2009, 20:39
Hi and welcome to the forum Leon,
I am glad you finally made it to doom9 :)
If a mod could examine and approve the attachment file (1 avsi file + 1 or 2 readme) thanks.
If not, I suppose Leon could post the script of the avsi as quoted text to get things started.
I have used this multi-usage script (older french revs) for a quite a while with good results.
Presets is to get started, but any param can be tuned separately for desired results. :cool:
Did
buzzqw
8th September 2009, 13:38
could you post some screenshots of this filter at work ?
BHH
leon1789
8th September 2009, 17:31
could you post some screenshots of this filter at work ?
BHH
Of course, here two images.
The first shows a car moving quickly: in fact, on the video, the car is almost motionless, but the background moves much. So the cars (in green) is sharpened and the background blurred (in blue).
http://img403.imageshack.us/img403/72/image1s.th.png (http://img403.imageshack.us/i/image1s.png/)
On the second image, an object moves, and man and flower are motionless. So the object is blurred (in blue) and the men and flower are sharpened (in green). (Denoising is red)
http://img142.imageshack.us/img142/7268/image2sa.th.png (http://img142.imageshack.us/i/image2sa.png/)
BigDid
8th September 2009, 18:04
Hi Buzz,
The blur effect can be disturbing but very useful to raise compressability, like for a 2 pass encode.
It can be disabled by using softsharpen(blur=0)
If you look at the car and the roof picture, you loose details on the roof because the effects of softsharpen(), without presets or params, are quite strong.
You get them with softsharpen(verbose=true):
Blur 21
Sharp 20
Spatial and Temporal denoising 7
Deringing 4
Movement detection 41
On this source you could adjust the blur to a lower level, Ex: blur=12 (only on motion/moving parts) and/or the denoising like Denois=3 (all parts of the source needing denoising as analysed by/for Mdegrain) to regain details on the roof but loose some compressibility.
Preset="film" or Preset="light" are good starting points and you can use estimsoftsharpen() on a small part (comptest) to compute a more precise sharp level :)
Did
leon1789
8th September 2009, 18:14
Yes, that's it BigDid ! ;)
Adub
10th September 2009, 00:05
Wow, very cool. Thanks for the new script! I'll have to try this out on a couple of encodes. Wonder what the speed is like...
Edit: Okay, um... how does EstimSoftSharpen() work? I just insert it and wait for my estimsoftsharpen.txt file, correct? I'm not getting any text file.
BigDid
10th September 2009, 00:29
...Wonder what the speed is like...
Hi Adub,
It is fair, I suppose because the filters/functions used like: Deen, Msharpen, BlindPP or gradfun2b are less sophisticated than in the big scripts.
Therefore the usage is more suited for conventionals sources and less for "extreme" restoring . Hey, who does restore the Startrek1,2 or 3 everyday?
Anyhow, give it a try you could have good surprises ;)
It can even be full MT with some tweaks if interested :rolleyes:
Did
PS: Note to Leon1789; bug with the preset "anim" in the 6.4 rev; enter parameters manually if needed until bugfix. Preset "anim" has the following parameters:
Blur 21 - Sharp 15 - Derin 3 - Move 38 -Denois 10 - DenoisT 10 - Deban 2 - debl 0
PS2: Estimsoftsharpen() needs an encode to trigger the text file, use a short length or a SelectRangeEvery()
Gavino
10th September 2009, 01:27
If someone takes time to test quickly, I would be happy to have his/her comments to improve this script
I haven't tried actually running it, but this sequence looks wrong:
VB = Fast ? nop : Super.MAnalyse(isb=true, blksize=blk, TrueMotion=true)
...
Video1 = Video0.MDegrain1(Super, VB, VF, thSAD=DeNoisT*50)
When Fast is true, won't this give an invalid argument to MDegrain1?
Sagekilla
10th September 2009, 06:51
It would be safer to do:
VB = Super.MAnalyse(...)
...
Video1 = Fast ? Video0.MDegrain(...) : Video0
if Fast is false, then MDegrain is never evaluated and therefore VB never needs to be created. otoh, you would get an empty parameter for the backward vector (VB) in MDegrain1 and it'd probably throw an error.
Gavino
10th September 2009, 09:24
Video1 = Fast ? Video0.MDegrain(...) : Video0
You've got that the wrong way round. It should be
Video1 = Fast ? Video0 : Video0.MDegrain(...)
you would get an empty parameter for the backward vector (VB) in MDegrain1 and it'd probably throw an error.
nop isn't an empty parameter, it's just zero in disguise! (See this thread.)
So it will throw a type mismatch when used as a vector clip.
leon1789
10th September 2009, 18:05
Thanks to Gavino, BigDid and Sagekilla: I'm so sorry for this enormous idiot mistake :(
I change the version -> 6.5 now
leon1789
10th September 2009, 18:23
Edit: Okay, um... how does EstimSoftSharpen() work? I just insert it and wait for my estimsoftsharpen.txt file, correct? I'm not getting any text file.
EstimSoftSharpen is a minor function: it measures the motion of the video. The result (a candidat number for the "sharp" parameter) is readable in the EstimSoftSharpen.txt file after a real execution of the script on (a part of) the video, for example after an encode as BigDid said.
Adub
11th September 2009, 00:25
Okay, that's dandy, I had no trouble understanding what it did, but my EstimSoftSharpen.txt file is not being created. Both after playing and encoding.
Script:
SetMTmode(2)
DGDecode_mpeg2source("C:\samples\Elektra_Sample.d2v", info=3)
ColorMatrix(hints=true, interlaced=true, threads=0)
tfm(order=0).tdecimate()
Estimsoftsharpen()
Gavino
11th September 2009, 01:19
Have you tried searching in other folders?
It should be created in the working folder of whatever player/encoder you used.
BigDid
11th September 2009, 01:24
Hi Adub,
Sorry about that. I re-checked with the new rev, no problem here with XP-SP3.
Conditions: Vdubmod, short xvid encode with a selectrangeevery()
It should be created in the directory where your encode file will take place (xxx.avi or .other).
You may want to make a search; exact spelling is "EstimSoftSharpen.txt"
Is your script using a mod 16 source?
Did
leon1789
12th September 2009, 20:06
The blur effect can be disturbing but very useful to raise compressability (...)
That's true. So the blurring process has been modified in order to be less destructive (but always useful to raise compressibility, I think).
I change the version -> 6.6 now
Gavino
15th September 2009, 07:43
Taking another look at this, I can suggest a couple of minor coding changes (optional, the existing code 'works'):
function Diff(clip vid, clip v1, clip v2, string color)
...
b = Eval("BlankClip(vid, color=" + color + ")")
Why not make color an int, and call BlankClip directly, without Eval?
You can pass $0000FF, etc, directly to the function as valid int literals.
Masq = Video.ScriptClip(""" WriteFile("EstimSoftSharpen.txt", \
Round(13+Net/6).string, append=false) """)
You don't need to put WriteFile inside ScriptClip, as it is itself already a 'run-time' filter. You could just write:
Masq = Video.WriteFile("EstimSoftSharpen.txt", \
"Round(13+Net/6)", append=false)
buzzqw
15th September 2009, 08:07
@leon1789
i would like to include your filter in my HDConvertToX package
could i add it ?
i think about adding at max 2 preset,
SoftSharpen()
SoftSharpen(preset="film")
would you suggest something different ?
BHH
leon1789
15th September 2009, 10:15
@leon1789
i would like to include your filter in my HDConvertToX package
could i add it ?
i think about adding at max 2 preset,
SoftSharpen()
SoftSharpen(preset="film")
would you suggest something different ?
BHH
No problem: include the filter :)
For preset, I suggest SoftSharpen(preset="film") and SoftSharpen(preset="light"),
because spatial denoising is strong with SoftSharpen().
leon1789
15th September 2009, 10:42
Taking another look at this, I can suggest a couple of minor coding changes (optional, the existing code 'works'):
function Diff(clip vid, clip v1, clip v2, string color)
...
b = Eval("BlankClip(vid, color=" + color + ")")
Why not make color an int, and call BlankClip directly, without Eval?
You can pass $0000FF, etc, directly to the function as valid int literals.
Absolutely, you're right! (changed in next version 6.8 :))
Masq = Video.ScriptClip(""" WriteFile("EstimSoftSharpen.txt", \
Round(13+Net/6).string, append=false) """)
You don't need to put WriteFile inside ScriptClip, as it is itself already a 'run-time' filter. You could just write:
Masq = Video.WriteFile("EstimSoftSharpen.txt", \
"Round(13+Net/6)", append=false)
That's true, but with your small code, "append=false" writes in the txt file like "append=true" (? I don't understand why!)
Thank you for your tenders :)
buzzqw
15th September 2009, 10:51
No problem: include the filter :)
For preset, I suggest SoftSharpen(preset="film") and SoftSharpen(preset="light"),
because spatial denoising is strong with SoftSharpen().
thanks a lot
i am now testing your filter with some very clean but fast scene (from quantum of solace)
from my first test seems that shotsharpen() , without preset will rise the bitrate by a little (2%(
i will test light and film too, and then with very noise source (first alien movie)
BHH
Gavino
15th September 2009, 13:23
That's true, but with your small code, "append=false" writes in the txt file like "append=true" (? I don't understand why!)
Yes, you're right. The reason is quite subtle.
WriteFile(..., append=false) overwrites any existing file, but data is written for each rendered frame. Normally, that is what one wants.
With ScriptClip("""WriteFile(..., append=false)"""), a separate instance of WriteFile is created for every frame, each one overwriting the data written by previous one. Normally, that would be undesirable, but in your case, you only want to see the final value, so it works.
leon1789
15th September 2009, 17:39
@Gavino
Ok. What a pity :(
BigDid
15th September 2009, 18:45
...
from my first test seems that softsharpen() , without preset will rise the bitrate by a little (2%(
Hi buzz,
You can rise blur up to 24 (more blurring) and/or lower mouv to 30 (more motion detected) to rise overall compressability.
i will test light and film too, and then with very noise source (first alien movie)
BHH
That was kind of a joke (post above) but in fact I retried to use partially softsharpen on startrek5 with a Mdegrain2 and a thsad=800 in the script before using softsharpen for sharping, depan and dering. Not finalized atm...
For Startrek1, beside the awful colors, I had good results with a MCTemporalDenoise(settings="low")
Did
Edit: the params for softsharpen() without presets are given in a previous post: http://forum.doom9.org/showthread.php?p=1323291#post1323291
For "film" it is blur=15 sharp=18 derin=4 move=41 denois=5 denoisT=8
For "light it is blur=12 sharp=13 derin=3 move=35 denois=2 denoisT=5
We exchanged a lot Leon and I to tune the preset light aimed for a xvid encode with Vaq, sharp resize and sharp matrix.
Gavino
15th September 2009, 19:44
What a pity :(
Ah, the joys of Avisynth's run-time filters... :)
They can often lead to surprising results, which is why I developed GRunT (http://forum.doom9.org/showthread.php?t=139337).
But here I think it is reasonable that WriteFile(append=false) still writes data for all frames, overwriting the original file contents. Otherwise there is no way to do that, and that is what is normally wanted.
You have discovered a useful 'trick' to get the effect you want, which is much less commonly needed.
leon1789
17th September 2009, 08:56
Version 6.8.
Faster debanding
Less constraint on the resolution: (before) version 6.7 needs mod16, (now) version 6.8 needs mod4
Optimised sharpening process
Some other corrections : better code (see Gavino) for instance.
leon1789
19th September 2009, 14:05
version 6.9
-- Fixed a bug when "Sharp=0" in version 6.8 :eek:
-- Experimental antialiasing ("AA" parameter), not perfect at all, but very fast :
Source http://img17.imageshack.us/i/sourcep.png/
Source.SoftSharpen(preset="anim",net=40) http://img17.imageshack.us/i/softsharpen1.png/
Source.SoftSharpen(preset="anim",net=40,AA=12) http://img21.imageshack.us/i/softsharpen2.png/
Antialiasing (AA=12 for instance) can be activated only when Sharpening is active (Sharp>0).
leon1789
21st September 2009, 17:34
version 7.0
New option "Overlap" for a better compatibility with MDegrain[1,2,3] and AviSynth MT.
Thanks to BigDid for many tests!
BigDid
21st September 2009, 17:53
Lol,
Thanks to Leon for his patience. I imagine it is kind of hard to tune a script for MT and not having a multicore :eek:
:thanks:
Did
leon1789
27th September 2009, 18:39
version 7.2
The type of DebrT has changed (float now): see http://forum.doom9.org/showthread.php?p=1329046#post1329046 ;)
leon1789
30th September 2009, 08:36
version 7.3
Optimization of the preset "light" (denoising & speed)
Comatose
1st October 2009, 08:14
The blur effect is kinda ugly in my opinion, because it's not uniform across large areas. Also, it looks a little bit like what you'd get if you Blur()'d and then sharpened. Wouldn't it be better to just Blur() instead of use a denoiser?
Although in my opinion, you don't want to blur at all. You just want to protect the areas with motion blur from being sharpened, because that doesn't do anything good, and at times it can be very ugly.
BigDid
1st October 2009, 20:26
...
Although in my opinion, you don't want to blur at all. You just want to protect the areas with motion blur from being sharpened, because that doesn't do anything good, and at times it can be very ugly.
Hi,
No blur?, no problem use blur=0
If you re-read the first post (or my post n°5), you will see that sharpening is done only on static areas, blur on motion area and denoising (temporal) on noisy blocks detected. Blur is handy for increasing compressability (usually motion is not seen at normal speed).
You can use show=true to get a visual representation of these 3 effects: green for sharp, red for denoise and blue for blur; explanations in post 4.
Did
leon1789
2nd October 2009, 08:43
That's it BigDid :)
The blur effect is kinda ugly in my opinion, because it's not uniform across large areas. Also, it looks a little bit like what you'd get if you Blur()'d and then sharpened.
The blur of the frame in post 4th is very strong (it is just an example). It's not like that in latest versions.
Wouldn't it be better to just Blur() instead of use a denoiser?
Blurring and denoising are two different process: the first can't replace the second.
Comatose
11th October 2009, 11:32
Blurring and denoising are two different process: the first can't replace the second.
But if you blur enough, you also achieve denoising. Strong denoising is effectively blurring. Denoising is generally used to remove noise while preventing blurring as much as possible, but you're trying to achieve blurring, so just blur()...
Well, I guess this is no longer relevant since you don't do things this way anymore.
leon1789
17th October 2009, 18:31
version 7.6
Optimised sharpening process.
awolfoutwest69
20th October 2009, 05:12
Not sure what I'm doing wrong. I have a YUY2 capture, and I am trying to apply this script as follows:
Import("c:\Program Files\avisynth 2.5\plugins\SoftSharpen.avsi")
AVISource("gd1991-04_27_s1.avi")
converttoYV12(interlaced=true)
SoftSharpen(blur=0)
When I open the above in VirtualDub, I get the following error:
Avisynth read error:
CAVIStreamSynth: System exception - Integer Divide by Zero at 0x10140d87
I put all the listed filters in my avisynth 2.58 plugins directory, and believe I have the most current versions. They are as follows:
asharp.dll - asharp 0.95
Deen.dll - deen_25_dll_20050705
DGDecode.dll - 1.5.5
gradfun2db.dll - gradfun2db_25_dll_20060315
MSharpen.dll - msharpen_25_dll_20030408
mt_masktools-25.dll - MaskTools2 2.0a36
mvtools2.dll - mvtools-v2.5.5
RemoveGrain.dll - 1.0b (tried 0.9 also same result)
BigDid
20th October 2009, 17:14
...
...
converttoYV12(interlaced=true)
SoftSharpen(blur=0)
...
Avisynth read error:
CAVIStreamSynth: System exception - Integer Divide by Zero at 0x10140d87
I put all the listed filters in my avisynth 2.58 plugins directory, and believe I have the most current versions. They are as follows:
asharp.dll - asharp 0.95
Deen.dll - deen_25_dll_20050705
DGDecode.dll - 1.5.5
gradfun2db.dll - gradfun2db_25_dll_20060315
MSharpen.dll - msharpen_25_dll_20030408
mt_masktools-25.dll - MaskTools2 2.0a36
mvtools2.dll - mvtools-v2.5.5
RemoveGrain.dll - 1.0b (tried 0.9 also same result)
Hi,
I tested your SS script (in the past there has been errors for value=0) OK.
I believe you may have prerequisite versions different from what is used for SS, maybe mvtools2 (I use the 2.4.7.0 version).
Recommended dll pack can be downloaded here:
http://www.unite-video.com/phpbb/download.php?id=2225
Did
Edit: never tried it on interlaced input though...
leon1789
20th October 2009, 18:16
Not sure what I'm doing wrong. I have a YUY2 capture, and I am trying to apply this script as follows:
Import("c:\Program Files\avisynth 2.5\plugins\SoftSharpen.avsi")
AVISource("gd1991-04_27_s1.avi")
converttoYV12(interlaced=true)
SoftSharpen(blur=0)
SoftSharpen (like many others scripts and filters) should not be used with interlaced input.
When I open the above in VirtualDub, I get the following error:
Avisynth read error:
CAVIStreamSynth: System exception - Integer Divide by Zero at 0x10140d87
I put all the listed filters in my avisynth 2.58 plugins directory, and believe I have the most current versions. They are as follows:
asharp.dll - asharp 0.95 ok
Deen.dll - deen_25_dll_20050705 use the version 20030814 for denois > 8
DGDecode.dll - 1.5.5 ok
gradfun2db.dll - gradfun2db_25_dll_20060315 ok
MSharpen.dll - msharpen_25_dll_20030408 ok
mt_masktools-25.dll - MaskTools2 2.0a36 ok
mvtools2.dll - mvtools-v2.5.5 perhaps use v2.5.8 ? http://avisynth.org.ru/mvtools/mvtools2.html
RemoveGrain.dll - 1.0b (tried 0.9 also same result) perhaps use v1.0 pre-release, the latest edition with SSE3 fix. http://avisynth.org/mediawiki/Removegrain
Anyway, I don't understand your division by 0. Do you have the latest version of SoftSharpen ? (I think so, but... ;) )
I tested your SS script (in the past there has been errors for value=0) OK.
That's true, but the bug Sharp=0 has been fixed.
leon1789
21st October 2009, 18:01
Some sreenshots LSFMod 1.9 vs SoftSharpen 7.6
source = ".....png".ImageReader.convertToYV12
V1 = source.LSFmod(strength=200) # 6.8 fps
V2 = source.SoftSharpen(preset="light", sharp=20.42, blur=0, denoisT=0, derin=0) # 7.9 fps
test 1
source http://img246.imageshack.us/img246/1579/1src.png
V1 LSFmod http://img24.imageshack.us/img24/5820/1fast.png (617 Ko)
V2 SoftSharpen http://img42.imageshack.us/img42/595/1ssb.png (580 Ko)
test 2
source http://img405.imageshack.us/img405/9760/2src.png
V1 LSFmod http://img197.imageshack.us/img197/4459/2fast.png (880 Ko)
V2 SoftSharpen http://img16.imageshack.us/img16/8735/2ss.png (842 Ko)
test 3
source http://img185.imageshack.us/img185/4492/3src.png
V1 LSFmod http://img340.imageshack.us/img340/1007/3fast.png (747 Ko)
V2 SoftSharpen http://img207.imageshack.us/img207/7782/3ss.png (713 Ko)
test 4
source http://img15.imageshack.us/img15/662/4src.png
V1 LSFmod http://img24.imageshack.us/img24/1788/4fast.png (458 Ko)
V2 SoftSharpen http://img194.imageshack.us/img194/3741/4ss.png (452 Ko)
SoftSharpen(preset="light",sharp=23.45,blur=0,denoisT=0,derin=0,deban=1.2) http://img44.imageshack.us/img44/5038/4ssdeban.png
test 5
source http://img8.imageshack.us/img8/8640/orig.png
V1 LSFmod http://img10.imageshack.us/img10/5474/origfast.png (3022 Ko)
V2 SoftSharpen http://img28.imageshack.us/img28/1755/origss.png (2966 Ko)
MatLz
21st October 2009, 19:00
imageSource("4src.png")
sharpen(0.5)
...give me same sharpening result, WITHOUT banding.
But I'm sure it's not the case on real motion, with your advanced masks.
So I think there is no interest to post pics.
It's not a race guys. Your two functions are really good.
Plz.
Keiyakusha
21st October 2009, 19:20
Your two functions are really good.
Plz.
And good competition can make them even better :)
MatLz
21st October 2009, 19:38
And good competition can make them even better :)
Maybe...maybe not.... Personnaly, I don't like that...I think they must 'optimize they want to do' and not 'optimize by comparing to the others'. . .
Well...the question will be soon obsolete: I will soon release my own function. ;) ;)
leon1789
21st October 2009, 19:58
I never said competition, race, etc, but "I try to develop an avisynth script".
It's not a competiton, but only a comparison (in my opinion, some scripts like LSFmod, HybridFupp, etc, are very good models), in order to show what has to be improved in SS. I just want some remarks, perhaps some simple suggessions. :)
LaTo
22nd October 2009, 14:20
I never said competition, race, etc, but "I try to develop an avisynth script".
It's not a competiton, but only a comparison (in my opinion, some scripts like LSFmod, HybridFupp, etc, are very good models), in order to show what has to be improved in SS. I just want some remarks, perhaps some simple suggessions. :)
Honestly I don't understand what your are trying to do...
1. You compare your script which denoise+sharpen to LSFmod which only sharpen... It's not the same goal!
2. You are trying to make your scripts as close as LSFmod... So 2 filters with the same result, what's the interest?
3. You said that you want suggestions and remarks... But, your script is mostly unreadable, most people will not look at your source code...
4. Look at the screenshot 2: less detail at alien's face, screenshot 3: more halos on the tree and less detail on the rouf, etc... Where is the improvement?
5. You should play with LSFmod parameters, you can do all you want with this... All the results depends of settings, for example overshoot is a trade-off between halos and details ( bigger = more halos but more details ).
Didée
22nd October 2009, 14:29
... play with LSFmod parameters, ... for example overshoot is a trade-off between halos and details ( bigger = more halos but more details ).
In LSF I had put Lmode=3 for "zero overshoot on edges, specified overshoot on not-edges": this tries to avoid halos while still improving detail.
LaTo
22nd October 2009, 15:00
In LSF I had put Lmode=3 for "zero overshoot on edges, specified overshoot on not-edges": this tries to avoid halos while still improving detail.
Yes, you are right... I have also added Lmode=4 in LSFmod (2 overshoot values: one for edges and one for not-edges) which is useful ;)
Didée
22nd October 2009, 16:48
Breathtaking idea, but that's not a solution to the problem. The problem is that simple edge masking will also mask-out plenty of edges where you do want the overshoot in fact. Bigger problem is that the "faster" edge masking that you put in uses a kernel that's very similar to the sharpening kernel, so the effect gets worse.
Anyhoo, that's not for this thread here.
LaTo
22nd October 2009, 16:58
The problem is that simple edge masking will also mask-out plenty of edges where you do want the overshoot in fact.
Yes, I know this problem... Maybe with prewitt tweaking?
Bigger problem is that the "faster" edge masking that you put in uses a kernel that's very similar to the sharpening kernel, so the effect gets worse..
Faster is faster, not better :D
I saw the effect when I added this but I didn't understand why... Thanks for the explanation!
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.