Note: This is a fork of MulticoreWare's repo: https://bitbucket.org/multicoreware/libfgm
- Libfgm can be used to extract characteristics of the film grain and add it to a binary file.
- Libfgm is available under APACHE 2.0 license
- OpenCV 4.5 or higher (http://opencv.org/downloads.html);
- One of your favourite IDE/compiler(with C++11 support).
g++ -O3 *.cpp $(pkg-config opencv4 --cflags --libs)
- libfgm --input noise.yuv --width W --height H --output filtered.yuv --model model.bin [ --pix-fmt --kalman-weight --wiener-weight --wiener-filter <0/1/2> --frames --skip --frequency-filter <0/1>]
- --input
- --output
- --model
- --width W - width of the input video
- --height H - height of the input video
- --wiener-weight Range: [1,9]; default: 1
- --kalman-weight Range: [0,9]; default: 1
- --wiener-filter <0/1/2> 0 - 3x3 filter; 1 - 5x5 filter; 2 - 7x7 filter; default: 0
- --frames - count of frames to process
- --skip - count of frames to skip initially
- --pix-fmt [yuv420p, yuv422p, yuv444p, yuv422p10, yuv444p10, yuv420p10]; default: yuv420p
- --model-id <0/1>; default: 0 0 = FrequencyFilteringModel 1 = AutoRegressionModel