Files
orx/orx-jvm/orx-runway/src/demo/kotlin/DemoDeoldify02.kt
2021-06-22 11:08:07 +02:00

50 lines
1.6 KiB
Kotlin

import org.openrndr.application
import org.openrndr.draw.ColorBuffer
import org.openrndr.draw.colorBuffer
import org.openrndr.extra.fx.transform.FlipVertically
import org.openrndr.extra.runway.DeOldifyRequest
import org.openrndr.extra.runway.DeOldifyResponse
import org.openrndr.extra.runway.runwayQuery
import org.openrndr.ffmpeg.ScreenRecorder
import org.openrndr.ffmpeg.VideoPlayerConfiguration
import org.openrndr.ffmpeg.VideoPlayerFFMPEG
/**
* This demonstrates the Deoldify model, which colors grayscale images
* This example requires a `reiinakano/DeOldify` model active in Runway.
*/
suspend fun main() = application {
configure {
width = 1280
height = 480
}
program {
val image = colorBuffer(640, 480)
val vc = VideoPlayerConfiguration().apply {
allowFrameSkipping = false
}
// -- you will have to supply your own video here
val video = VideoPlayerFFMPEG.fromFile("data/videos/night_of_the_living_dead_512kb.mp4", configuration = vc)
video.play()
val flip = FlipVertically()
video.newFrame.listen {
flip.apply(it.frame, image)
}
extend(ScreenRecorder()) {
frameRate = 30
}
extend {
video.draw(drawer, 0.0, 0.0, 640.0, 480.0)
val response: DeOldifyResponse =
runwayQuery("http://localhost:8000/query", DeOldifyRequest(image.toDataUrl()))
val image = ColorBuffer.fromUrl(response.image)
drawer.image(image, 640.0, 0.0)
image.destroy()
}
}
}