Reformer
From Avisynth wiki
Abstract | |
---|---|
Author | V.C.Mohan |
Version | 9 Apr 2018 |
Download | movePlus.7z |
Category | External filters |
License | GPLv2 |
Discussion | Reformer plugin |
Contents |
Description
Reform uses matrix algebra for transformations. Reform has two modes viz: rectangle to quadrilateral and quadrilateral to rectangle. Lanczos or cubic or linear or nearest point interpolation methods can be opted. Full Description
Requirements
- AviSynth+ r2347 or later
Syntax and Parameters
- Reform (clip, clip, string "resize", float "ltopx", float "ltopy", float "lbotx", float "lboty", float "rtopx", float "rtopy", float "rbotx", float "rboty", float "leftx", float "rightx", float "ytop", float "ybot", bool "qr", bool "norm")
- clip =
- Clip to be skewed into quadrilateral or deskewed into rectangle
- clip =
- clip =
- Clip to be used as background
- clip =
- string resize = "cubic"
- Radius of grid to use
- "lanczos"
- "cubic"
- "line"
- "point"
- Radius of grid to use
- string resize = "cubic"
- float ltopx = 0
- Q left top x coordinate
- float ltopx = 0
- float ltopy = 0
- Q left top y coordinate
- float ltopy = 0
- float lbotx = 0
- Q left bottom x coordinate
- float lbotx = 0
- float lboty = frame height - 1
- Q left bottom y coordinate
- float lboty = frame height - 1
- float rtopx = frame width - 1
- Q right top x coordinate
- float rtopx = frame width - 1
- float rtopy = 0
- Q right top y coordinate
- float rtopy = 0
- float rbotx = frame width - 1
- Q right bottom x coordinate
- float rbotx = frame width - 1
- float rboty = frame height - 1
- Q right bottom y coordinate
- float rboty = frame height - 1
- float leftx = 0
- R left x coordinate
- float leftx = 0
- float rightx = frame width - 1
- R right x coordinate
- float rightx = frame width - 1
- float ytop = 0
- R top y coordinate
- float ytop = 0
- float ybot = frame height - 1
- R bottom y coordinate
- float ybot = frame height - 1
- bool qr = true
- R bottom y coordinate
- true = q to r
- false = r to q
- R bottom y coordinate
- bool qr = true
- bool norm = false
- Whether normalised coordinates are specified?
- true = normalized
- false = real
- Whether normalised coordinates are specified?
- bool norm = false
Examples
## This is some example code to blur an image. imagereader("C:\..........jpg", end = 10) a = avisource("C;\..........avi").converttoYUY2() converttoyv16() # Rectangle to quadrilateral r2q(last,last,leftx = 100,rightx = 400, ytop = 200, ybot = 480,ltopx=200,ltopy=150, rbotx = 500, rboty = 400, resize= "lanczos") # quad to rectangle excercise c= last
- bg = blankclip(last,color = 0)
ScriptClip("""
h = height(bg)-1 w = width(bg)-1
t = 0.061 *(current_frame) t2 = 0.127 *( current_frame) a = 0.501 + 0.5 * sin(t/pi) t1x = (-0.2*cos(t2)) * w t1y = (0.5-0.5*cos(t2)) * h t2x = (1.0+0.2*cos(t2)) * w t2y = (0.5-0.5*cos(t2)) * h t3x = (1.0+0.2*cos(t2)) * w t3y = (0.5+0.5*cos(t2)) * h t4x = (-0.2*cos(t2)) * w t4y = (0.5+0.5*cos(t2)) * h c1x = (0.5+a*cos(t)) * w c1y = (0.5+a*sin(t)) * h c2x = (0.5-a*sin(t)) * w c2y = (0.5+a*cos(t)) * h c3x = (0.5-a*cos(t)) * w c3y = (0.5-a*sin(t)) * h c4x = (0.5+a*sin(t)) * w c4y = (0.5-a*cos(t)) * h
- r2q(c, c,leftx=t1x,rightx=t2x,ytop=t1y,ybot=t3y,ltopx=c1x,ltopy=c1y, rtopx=c2x,rtopy=c2y, rbotx=c3x,rboty=c3y,lbotx=c4x,lboty=c4y, resize = "line")
q2r( bg,leftx=t1x,rightx=t2x,ytop=t1y,ybot=t3y,ltopx=c1x,ltopy=c1y, rtopx=c2x,rtopy=c2y, rbotx=c3x,rboty=c3y,lbotx=c4x,lboty=c4y, resize = "point" )
Back to External Filters ←