Log in

View Full Version : Is there a WYSIWYG tool for a SmoothCurve?


silverwing
22nd November 2017, 09:49
Hi, All!
There is such an avisynth-plugin for adjusting YUV color space - SmoothCurve,
part of SmoothAdjust plug-in written by LaTo (https://forum.doom9.org/showthread.php?t=154971).
I tried using the YUV Curve tool (Edius, see screenshot),
I set the control points, then I transfer them in the form of coordinates in SmoothCurve.
But this is not very convenient, because YUV Curve by Edius does not allow fine-tuning
to correct the spoiled color (for example, the daytime sky has a purple hue,
but not grayish or bluish) - too small a scale for adjusting Y, U, V channels.
Is there a convenient WYSIWYG tool for SmoothCurve in nature?
Thank you for attention.
(Sorry for my bad English)
http://thumbs2.imagebam.com/ac/04/a6/a7e5b2664955003.jpg (http://www.imagebam.com/image/a7e5b2664955003)

StainlessS
22nd November 2017, 10:01
No idea about Smoothcurve, LaTo sources are closed and so not easy to create any kind of grapher.

Perhaps of use:-
https://forum.doom9.org/showthread.php?t=156774&highlight=Coloryuv2
https://s20.postimg.cc/e05bqbhq5/Coloryuv2_Graf.jpg (https://postimg.cc/image/r4aw309rt/)

https://s20.postimg.cc/47y26xhfh/CYUV-1-0b-frog-desat.jpg (https://postimg.cc/image/3v6o0qz5l/)


https://forum.doom9.org/showthread.php?t=170642&highlight=rgbadapt
https://s20.postimg.cc/wxyq8spkt/Fishv3_zpsfjmoyerr.jpg (https://postimg.cc/image/yd0axiqnt/)

silverwing
22nd November 2017, 10:22
No idea about Smoothcurve, LaTo sources are closed and so not easy to create any kind of grapher.

Perhaps of use:-
https://forum.doom9.org/showthread.php?t=156774&highlight=Coloryuv2


Thanks for the answer! Nice work! :-)

StainlessS
22nd November 2017, 10:57
Graffers and toys
http://www.mediafire.com/file/5hdnos18p2pm206/Graffers%26Toys.zip

ColorYUV2 Graffer v1.0b (Bottom of page)
http://www.mediafire.com/file/wq4f9yy1kmp6753/ColorYUV2_Graf_v1-0b_21120614.zip

See MediaFire in sig below this post for dll, or below
http://www.mediafire.com/file/875czvfnigu72ds/ColorYUV2_25_dll_20120529.zip


RGBAdapt:
http://www.mediafire.com/file/bo4afg77u4dfu8k/RGBAdapt_dll_v0.3-20150617.zip

Sorry, non as yet available for 64 bit.

silverwing
22nd November 2017, 11:24
Sorry, non as yet available for 64 bit.
Thank you for the links! :)
I had to guess where to find the links. Apparently the Russian winter is so affecting my brain. :D
I'll try to compile ColorYUV2 to 64-bit, thanks for the source code.
And such question - what version of Visual Basic did you use for COLORYUV2_GRAF.exe? When I run the program, there is an error "ComDlg32.ocx file is missing or invalid".
Apparently, I will have to install (my Windows 8.1 64-bit system) Visual Basic Runtime. :confused:

StainlessS
22nd November 2017, 11:41
The vBasic programs are compiled with VS 6(98) VB.
Graffers&Toys.zip contains the ComDlg32.ocx, but missing from ColorYUV2_Graf_v1-0b_21120614.zip
[thought is might now be standard post XP OS (I'm on XP)].

Groucho2004
22nd November 2017, 11:47
This (https://answers.microsoft.com/en-us/windows/forum/apps_windows_10-winapps-appscat_tools/comctl32ocx-file-missinginvalid-for-windows-10/0d515059-0397-4b72-a39b-120a7be96043) may help.

silverwing
22nd November 2017, 12:02
The vBasic programs are compiled with VS 6(98) VB.

Thanks again! :)
I found a link to VB Runtime (https://sourceforge.net/projects/vb6extendedruntime/) (maybe someone will come in handy).
OK. The program started without errors. Does it work only with BMP? Do I need to cut a bitmap from the video?

Groucho2004, maybe you compile ColorYUV2 to 64-bit? You make good ICL DLLs, I often use them.

StainlessS
22nd November 2017, 12:15
ConvertToRGB32/24(Matrix=whatever), Pick a frame, save frame as BitMap.
Choose Matrix=whatever in ColorYUV2 1.0 beta.
Other graffers require rec601.
I never got around to figuring out how to open AVI in VB (just a beginner).

Cheers Grouchy, Ill bung that page in my VB folder for future ref.

EDIT: Someone may have done a ColorYUV2 slider thing in AvsPMod (I dont use it).

EDIT: Think Bernardd may have done slider thing for RgbAdapt in this thread:- https://forum.doom9.org/showthread.php?t=174411

NOTE for anyone else, Graffers and toys also contains Graffer for builtin RgbAdjust and Levels.
The UK Lottery Picker/Checker exe's in Graffers & Toys, are now useless, they upped it from 49 balls to 59 balls, some time ago.
(was 13.7M:1 @ 49 balls for jackpot, god knows what it is now)

StainlessS
22nd November 2017, 12:36
Quick test,with defaults.

ImageSource("YUV_Curve_tool1.jpg",end=0)
Crop(155,0,426,-472)
A=GamMac
StackVertical(Last,A)

https://s20.postimg.cc/natcrls5p/test1.png (https://postimg.cc/image/lvrs2vr2h/)

GamMac:- https://forum.doom9.org/showthread.php?t=173695&highlight=Gammac

silverwing
22nd November 2017, 13:04
GamMac:- https://forum.doom9.org/showthread.php?t=173695&highlight=Gammac

I tried GamMac. :)
I find it inconvenient because it requires a double conversion - ConvertToRGB and ConvertToYV12, which means the loss of color detail on old video sources with distorted color (DVD). :(
Why do I say that? Because I'm paranoid and therefore I try not to use resize source material, but only OverCrop or UnderCrop with mod8. :)

By the way, what would you advise from the least simple? Maybe overlay mask to unpurple daytime sky and people's faces? Of course in YUV-colorspace.

StainlessS
22nd November 2017, 13:17
I'm no expert (crap really) at color correction, and would find it preferable to arrive at reasonable result even if it required double colorspace conversion,
than to arrive at less than reasonable result with no colorspace conversion.

Also, if problem arose in RGB colorspace, then that is quite probably the best format to correct in (no idea if this is the case here).

EDIT: By the way, think Groucho2004 did a 64 bit version GamMac in his Groucho Avisynth Stuff thread.

EDIT:
no idea if this is the case here
The fact that above GamMac test works quite well might suggest that the problem did originally occur in RGB space.

silverwing
22nd November 2017, 13:31
Thank you very much again. I will think, I will try. But first I'll try your program. :)

StainlessS
22nd November 2017, 14:05
GamMac self adjusts at every frame, so if problem changeable in nature then not such a bad thing, (like when indoors compared with image above).
At least give it a try before you decide.

EDIT: If trying GamMac, and YUV histogram partially outside of 16->235 TV Levels, then use Matrix="PC.601" or "PC.709", GamMac should correct either without problem.
NOTE, default OMin=5, OMax=250, to give a little head/foot room for [EDIT: further] manual edit, set 0,255 if further edit not required.

EDIT: I did start a YUV version of GamMac quite some time ago, results were promising, got to get back to it one day when I have time.
Would likely be a completely separate plug, as args likely a lot different.

silverwing
22nd November 2017, 16:08
StainlessS, thanks for the exhaustive answer. With pleasure I will treat you to my fruit wine (hand made). :)

P.S. GamMac very-very slow even on my fast workstation, given that it is necessary to build structures:
AssumeTFF().SeparateFields()
O = SelectOdd().ConvertToRGB24().GamMac(Show=false).ConvertToYV12()
E = SelectEven().ConvertToRGB24().GamMac(Show=false).ConvertToYV12()
Interleave(O, E)
Weave()

StainlessS
22nd November 2017, 16:55
What !!!, you calling me a 'fruit'. We have rules about such accusations against member on site, you naughty boy/girl :)

Suggest maybe

# GamMac handles pixels individially, interlacing does not really matter, unless alternate field alters histogram drastically.
AssumeTFF().ConvertToRGB24(Interlaced=True) # Matrix=Whatever
GamMac(Show=false) # + other args
Return ConvertToYV12(Interlaced=True) # Matrix=Whatever

Groucho2004
22nd November 2017, 19:51
Groucho2004, maybe you compile ColorYUV2 to 64-bit?
I added it to my Avisynth Stuff.

StainlessS
22nd November 2017, 23:25
Mucho Grassy Ass my Hispanic Friend, we loves you :)

EDIT: @ G2K4

EDIT: OK, forgot, bit pissed, I meant Germanic friend. :)

EDIT: Something like,:- es tut mir leit.

silverwing
22nd November 2017, 23:35
I added it to my Avisynth Stuff.
Thank you!
What !!!, you calling me a 'fruit'. We have rules about such accusations against member on site, you naughty boy/girl :)

Forgive my bad English, I just wanted to offer you my own wine if you are in Russia. :)
As for the GamMac, I'll try, thanks!

StainlessS
22nd November 2017, 23:45
No Really, forgive my bad English. I have nothing to forgive, I'm was just jesting.

And a very warm welcome to the forum, please enjoy your stay.

StainlessS
23rd November 2017, 12:47
Suggest maybe

# GamMac handles pixels individially, interlacing does not really matter, unless alternate field alters histogram drastically.
AssumeTFF().ConvertToRGB24(Interlaced=True) # Matrix=Whatever
GamMac(Show=false) # + other args
Return ConvertToYV12(Interlaced=True) # Matrix=Whatever


Note, maybe should avoid using GamMac (as above) on Interlaced material with the dithering of latest beta version switched on, as that would diffuse/disperse any error into the alternate fields.

EDIT: I assume that above is also advised concerning ANY other dithering with interlaced material.