This plugin corrects Barrel type or Pin Cushion type distortions in an image that result in due to camera lens projecting image on to a flat film or sensor array. ( The distortions due to perspective are not compensated by this plugin. For correcting perspective distortion one need to use Reform plugin.) This plugin can also correct for distortions if caused by factors independantly along x and y directions In the test mode a distorted matrix of dots is overlain on the specified frame
A polynomial with 4 coefficients are used to correct. a, b, and c are the coefficients to be specified and the fourth d is computed internally. These parameters mainly depend upon the lens of the camera, focal length of lens and setting of zoom.
For many high definition still photographic cameras databases are available on the web. But for video cams there is no such database. The possible reasons are 1. Video camera resolution is limited 2. The camera and or subjects move and therefore such distortions are not noticeable. However, due to advent of HD video cams and the consequent increased usage of tripod one may attempt to correct for such distortions.
By the use of test mode the values of coefficients can be arrived at. For a particular camera and setting of focus, these coefficients will remain same. In test mode the number of steps, the range of each of the coefficients etc. are specified. Then a clip with the selected frame of input clip as background is overlain with dots which lie along distorted lines. Each increment of output frame, these coefficients are altered by a step. This display may aid in selecting proper coefficients.
On some images unequal vertical and horizontal distortions are noticeable. For example if a frame based image is field separated, then the individual fields may exhibit such distortions.To be able to correct such distortion, a parameter vh can be used. This specifies the ratio of vertical to horizontal distortion.
Description | Name | Type | Limits | Default |
Input clip | clip | RGB or Y8 format only | none | |
coefficient a (xa in independant mode and start val in test mode) | a | float | between - 0.5 and 0.5 | 0.005 |
coefficient b(xb in independant mode and start val in test mode) | b | float | between - 0.5 and 0.5 | 0.005 |
coefficient c(xc in independant mode and start val in test mode) | c | float | between - 0.5 and 0.5 | 0.005 |
whether to correct pin cushion or barrel type distortion | pin | Boolean | true for pin, false for barrel | false |
vertical to horizontal distortion ratio | vh | float | between 0.1 and 10 | 1.0 |
whether in test mode | test | Boolean | true for test, false for normal | false |
end value of coefficient a in test mode(xea in independant mode) | ea | float | between - 0.5 and 0.5 | 0.05 |
end value of coefficient b in test mode(xeb in independant mode) | eb | float | between - 0.5 and 0.5 | 0.05 |
end value of coefficient c in test mode(xec in independant mode) | ec | float | between - 0.5 and 0.5 | 0.05 |
number of steps for variation ( in test mode only) | nsteps | integer | between 0 and 100 | 20 |
input frame number for over lay ( in test mode only) | frame | Int | within input clip | 0 |
color of dots in test mode and left out borders in normal | color | Int | in RRGGBB format | 0 |
whether x and y have independant coefficients | ind | Boolean | true for independant, false for pin cushion or barrel | false |
whether Y direction has pin cushion distortion? | ypin | Boolean | true for pin cushion, false for barrel | false |
value of coefficient ya ( start value in test mode ) | ya | float | between - 0.5 and 0.5 | 0.05 |
value of coefficient yb (start value in test mode) | yb | float | between - 0.5 and 0.5 | 0.05 |
value of coefficient yc (start value in test mode) | yc | float | between - 0.5 and 0.5 | 0.05 |
end value of coefficient ya ( in test mode only) | yea | float | between - 0.5 and 0.5 | 0.05 |
end value of coefficient yb ( in test mode only) | yeb | float | between - 0.5 and 0.5 | 0.05 |
end value of coefficient yc ( in test mode only) | yec | float | between - 0.5 and 0.5 | 0.05 |
blankclip(width = 720, height = 480, pixel_type = "RGB32",color = $ffffff, length = 10) grid() pin = DeBarrel(a = 0.005, b = 0.005, c = 0.005,pin = false) bar = DeBarrel(a = 0.005, b = 0.005, c = 0.005,pin = true) test for image with independant distortions:- DeBarrel(test=true,pin=false, ind = true,a= 0.05,b= 0.011,c= 0.001, ea = .02, eb=0.012,ec= 0.001, ya= 0.1, yb= 0.011,yc= 0.001, yea= 0.01, yeb= 0.005, yec = 0.005 , ypin = true, color = $ffffff)Barrel Distortion Example:-
To my index page | ||
down load plugin | ||
To Avisynth |