Update README.md

This commit is contained in:
Edwin Jakobs
2019-11-29 12:46:03 +01:00
committed by GitHub
parent 1c3411c587
commit 678ac4e72b

View File

@@ -152,71 +152,4 @@ fun main() = application {
} }
} }
} }
import org.openrndr.application ```
import org.openrndr.draw.*
import org.openrndr.extra.jumpfill.Threshold
import org.openrndr.extra.jumpfill.directionFieldFromBitmap
import org.openrndr.ffmpeg.VideoPlayerFFMPEG
import org.openrndr.filter.blur.ApproximateGaussianBlur
fun main() = application {
configure {
width = 1280
height = 720
}
program {
val blurFilter = ApproximateGaussianBlur()
val blurred = colorBuffer(width, height)
val thresholdFilter = Threshold()
val thresholded = colorBuffer(width, height)
val directionField = colorBuffer(width, height, type = ColorType.FLOAT32)
val videoPlayer = VideoPlayerFFMPEG.fromDevice(imageWidth = width, imageHeight = height)
videoPlayer.play()
val videoCopy = renderTarget(width, height) {
colorBuffer()
}
extend {
// -- copy videoplayer output
drawer.isolatedWithTarget(videoCopy) {
drawer.ortho(videoCopy)
videoPlayer.draw(drawer)
}
// -- blur the input a bit, this produces less noisy bitmap images
blurFilter.sigma = 9.0
blurFilter.window = 18
blurFilter.apply(videoCopy.colorBuffer(0), blurred)
// -- threshold the blurred image
thresholdFilter.threshold = 0.5
thresholdFilter.apply(blurred, thresholded)
directionFieldFromBitmap(drawer, thresholded, result = directionField)
drawer.isolated {
// -- use a shadestyle to visualize the direction field
drawer.shadeStyle = shadeStyle {
fragmentTransform = """
float a = atan(x_fill.r, x_fill.g);
if (a < 0) {
a += 3.1415926535*2;
}
if (x_fill.g > 0.5) {
x_fill.rgb = 1.0*vec3(cos(a*1.0)*0.5+0.5);
} else {
x_fill.rgb = 0.25*vec3(cos(a*1.0)*0.5+0.5);
}
"""
}
drawer.image(directionField)
}
}
}
}
```