View Single Post
Old 15th July 2013, 21:45   #1  |  Link
StainlessS
HeartlessS Usurer
 
StainlessS's Avatar
 
Join Date: Dec 2009
Location: Over the rainbow
Posts: 10,980
RgbAmplifier - Forensic Tool - v1.04 - 28 Nov 2018

Originally prompted by post #3 below, has been moved into this thread from another.

RgbAmplifier, Concept by Forensic, Plugin by StainlessS, mod ideas Gavino.

Plugins for avs v2.58, avs/+ v2.60 x86 & x64

Code:
RgbAmplifier (RGB24 and RGB32), requires VS2008 CPP Runtimes.
========================================
An Avisynth plugin to amplify color shifts

Given a clip, this filter examines every pixel of every frame and independently multiplies the difference of its specific
 R, G and B values from the average R, G and B values of that same pixel location spanning a defined radius of adjacent frames.
 If the new values are above or below the allowed RGB values, they are capped at those limits.
 The revised RGB values replace the original values, and the amplified clip is returned.
 If the Multiplier is set to a value of zero, the plugin acts as a temporal frame averager.

This plugin will:
 Convert seemingly imperceptible color changes into obvious color changes
 Highlight seemingly imperceptible movements of high contrast pixels
 Sharpen the details of moving objects
 Cause distortion or ghosting/transparency effect to moving objects (an unavoidable side effect)

This plugin requires RGB24 or RGB32 color space, and is intended for forensic analysis of videos created from fixed position cameras.
 Usage on non-stationary cameras may produce unpredictable or content destructive results. The faster the object and/or the greater
 the radius, the greater the risk of negatively impacting the visual accuracy of the moving object.

=====
Usage
RgbAmplifier(clip clip,int "Radius"=2,float "Multiplier"=2.0,int "Rmin"=0,int "GMin"=0,int "Bmin"=0, \
    int "RMax"=255,int "GMax"=255,int "BMax"=255,bool "Precise"=false)


=====
Parameters:
 Radius: integer from 1 to 99 (default 2). Defines the radius of how many frames are to be averaged (2 * radius -1).
 For example, a radius of 7 will instruct the filter to average 13 frames (2 * 7 -1).
 A value of 1 effectively disables the function (useful if adjusting the values within AVSpmod).

Multiplier: float from >=0.0 to <=20.0 (default 2.0). Defines the multiplier for the difference between a pixel’s color value
 (for each of R, G and B values) and its average value (as defined by the Radius).
 For example, the default value of 2.0 will replace every R, G and B value of every pixel with a value twice as far from the
 average R, G or B value of that pixel.

Rmin: integer from 0 to 255 (default 0). Cannot be greater than Rmax.
 The filter will not alter any pixel whose Red color value is below this threshold value.

Gmin: integer from 0 to 255 (default 0). Cannot be greater than Gmax.
 The filter will not alter any pixel whose Green color value is below this threshold value.

Bmin: integer from 0 to 255 (default 0). Cannot be greater than Bmax.
 The filter will not alter any pixel whose Blue color value is below this threshold value.

Rmax: integer from 0 to 255 (default 255). Cannot be less than Rmin.
 The filter will not alter any pixel whose Red color value is above this threshold value.

Gmax: integer from 0 to 255 (default 255). Cannot be less than Gmin.
 The filter will not alter any pixel whose Ged color value is above this threshold value.

Bmax: integer from 0 to 255 (default 255). Cannot be less than Bmin.
 The filter will not alter any pixel whose Blue color value is above this threshold value.

Precise: bool default false. Default uses integer math and is faster than Precise=true which uses double precision Floating point.

=====
Examples:

Double pixel color deviations from the average of the current, preceding and postceding frame’s pixel value
RgbAmplifier ()


Temporal averaging using the current frame and the first four (Radius - 1) preceding and postceding frame’s pixel values
RgbAmplifier (Radius=5, Multiplier=0.0)


Triple pixel color deviations from the average of the current frame and the first two preceding and postceding frame’s
 pixel values, but only for pixels with a color within 2% of pure Cyan (“00AEEF”)
 RgbAmplifier (Radius=2, Multiplier=3, Rmin=0, GMin=169, Bmin=234, RMax=5, GMax=179, BMax=244)


#########################################
Forensic
dll's, + Source + full VS2008 project files for easy build.
For Download see below MediaFire in sig.
__________________
I sometimes post sober.
StainlessS@MediaFire ::: AND/OR ::: StainlessS@SendSpace

"Some infinities are bigger than other infinities", but how many of them are infinitely bigger ???

Last edited by StainlessS; 28th November 2018 at 11:35. Reason: Update
StainlessS is offline   Reply With Quote