I also implemented the colour mode for the DCT denoising algorithm. Over-all it's a little slow still - i.e. not fast enough for real-time video. One of these days i'll get around to the complex wavelet version, that should be a lot faster and can also sharpen. I haven't been able to suss out DCT sharpening and so far my attempts add too many artefacts to be useful (i.e. pixel-level chess pattern).
The demos so far are:
- AdaptiveBlur
- An interactive window that shows an experimental algorithm I came up with some time ago for de-noising. It uses sobel filter to detect edges, then uses that to progressively blend between a blurred and non-burred image. Works ok sometimes.
- ConvolveNonSeparable
- Simple non-separable convolution that blurs an image.
- ConvolveSeparable
- Separable convolution to do the same thing (
and demonstrates the code is broken atm- demo was broken, fixed) - DCT8x8Mono, DCT8x8Colour
- Interactive DCT based denoise demo for mono/colour images.
- WebcamFX
- Another old interactive demo I wrote which uses Video4Linux to access a webcam and apply a bunch of effects including KLT motion detection and viola-jones face detect. It also shows the first half of a low-overhead video display path: the GPU does the colour conversion from raw frames. Well as low as possible with v4l4j anyway.
Hmm, another week nearly down. I've been reading lots of papers and trying to suss out some fiddly crap for work, so this stuff has been a nice distraction. That's finally going somewhere so might keep me busy for a bit.
No comments:
Post a Comment