Seam carving implementation in Kotlin. To know more: https://people.csail.mit.edu/mrub/talks/SeamCarving_6.865.pdf
Supports:
- Image size reduction
- Image size expansion
- Multiple task runners using rabbitmq
Requires Java8+
- Start RabbitMQ on default port.
- Make sure to change the port in
resources/application.conf
as needed. - Build
smartresizing-1.0.jar
(or use the latest one from releases) with./gradlew fatJar
which produces fat jar inbuild/libs/
java -cp smartresizing-1.0.jar io.ktor.server.netty.DevelopmentEngine
java -cp smartresizing-1.0.jar in.ashishchaudhary.smartresizing.taskrunner.TaskRunner
- Visit
localhost:8000
.
Doing 5
X times launches X workers.
- Clone.
- Start RabbitMQ on default port.
- Make sure to change the port in
resources/application.conf
as needed. - Use main class as
io.ktor.server.netty.DevelopmentEngine
and classpath of modulesmartresizing_main
. - Start at least one instance of
TaskRunner
- Start
SmartResizing
- Visit
localhost:8000
- Add logging.
- Add clean up task to remove old images once in a while.