denoising blender animations with opencv and python

Nikolaus Gradwohl2017-04-07T05:42:22+02:00

Nikos Priniotakis posted a teaser of a denoising script for blender animations a few months ago, that shows really impressive improvements on a noisy cycles animation (see his original tweet here) I sent some twitter messages back and forth with him and he sent me the links to the opencv denoise function he used for the demo. So I finaly found the time to wirte a short python script that uses pyopencv to denoise all the pictures in a folder and copies it to another folder.

The script I used to denoise my animation is here

import cv2
import os
import numpy as np
from matplotlib import pyplot as plt
files = os.listdir("metabubbles/")
for f in files:
    if f.endswith('.png') and f.startswith('0'):
        print f
        img = cv2.imread("metabubbles/%s" %f);
        dst = cv2.fastNlMeansDenoisingColored(img)
        cv2.imwrite('res/%s' %f, dst);

The denoising process is no magical pixiedust that can be sprinkled on your noisy cycles-renders to fix everything but when used correcly it can improve preview renders a lot, but if the script is used on an image sequence that is too noisy it introduced a whole lot of new artifacts. I used the script on an amiation I rendered last year. Here is how the original video compares to the denoised version.

denoising blender animations

read more ...

AN experiment - curling curves

Nikolaus Gradwohl2017-04-06T05:24:07+02:00

I created a bunch of curves curling around a bezier path using the Animation Nodes Addon for Blender

you can download the blend file here

curling curves

read more ...

AN experiment - Cube Snake

Nikolaus Gradwohl2017-04-05T07:47:43+02:00

I transformed a grid of cubes into a wiggly line snake using the vector animation node from the animation nodes addon in blender

you can download the blend file here

cube snake

read more ...

New Track: Dream some More

Nikolaus Gradwohl2017-04-04T06:26:30+02:00

dont wake up yet - dream on - just a few more minutes ...

dream some more

read more ...

blackfluid

Nikolaus Gradwohl2017-04-03T06:31:51+02:00

For this animation I used some fluid particles and created a surface using the cubesurfer addon for blender

you can download the blend file here

Blackfluid

read more ...

AN experiment - Sine curves

Nikolaus Gradwohl2017-04-02T05:19:15+02:00

I created a bunch of currves using a sine wave thats modulated by an animated wiggle node

you can download the blend file here

sine lines

read more ...

AN experiment - Rotate Offset

Nikolaus Gradwohl2017-04-01T05:11:15+02:00

For this animation I created a bunch of object instances. Then I shifted and rotated them using math nodes

you can download the blend file here

Rotate Offset

read more ...

AN experiment - Convulsion

Nikolaus Gradwohl2017-03-31T06:40:03+02:00

For this experiment I used the polygon transformation nodes and a wiggle node to control translation and rotation of the polygons

you can download the blend file here

convulsion

read more ...

AN experiment - Polygon separation

Nikolaus Gradwohl2017-03-30T05:24:05+02:00

For this animation node experiment I separated the polygons of a shape and offset them with a vector-wiggle-node

you can download the blend file here

polygon separation

read more ...

AN experiment - spherical curve

Nikolaus Gradwohl2017-03-29T06:28:29+02:00

For this animation nodes experiment I fitted a spline spiral on a spherical surface

you can download the blend file here

spherical spiral curve

read more ...