# Hindol

Newbies

5

0

1. ## How to resize dst surface in a plugin?

How to resize the 'dst' Surface in CodeLab? What if someone wants to rotate the image?
2. ## Wavelet (Haar 2-tap) Transformation of an Image (Source and DLL)

Actually no, I am happy with my results for JPEG images. This is not a filter similar to Gaussian blur, InkSketch etc. And I guess my plugin is of no use to anyone. To understand what I am trying to do, go to Tom Gibara's page and set Iterations = 1, Reduction = 0, Quantization = 0. That is what I am trying to do. Look how the image is Haar transformed and then inverse Haar transformed to retrieve the original image again. This technique is widely used in image compression algorithms like JPEG2000 and other formats. (JPEG used DCT or discrete cosine transform but the newer JPEG2000 uses DWT or discrete wavelet transform, and Haar transform is one type of DWT).
3. ## Wavelet (Haar 2-tap) Transformation of an Image (Source and DLL)

Actually the final image is not smaller. It is divided into four sub-bands. Top-left = Average of four pixels Top-right = Vertical details ie. it shows whether there are any vertical edges / lines in the image Bottom-left = Horizontal details (same but detects horizontal lines) Bottom-right = Diagonal details One interesting fact is that the original image can be fully recovered from the transformed image (with some minimal quantization errors). I just tested it. It does not work with images other than jpg. This is my very first plugin that I put together in some 2 hours (most of the time spent figuring how CodeLab works). I still do not understand how exactly the multi-threading works. Because all constraints on X seem to work correctly but Y constraints are a guessing game. void Render(Surface dst, Surface src, Rectangle rect) <= What do I do with the rect parameter? I figured it had to do something with the threads. Each rect represents just a piece of an image? And multiple threads work with multiple rects at the same time? I am clueless.
4. ## Wavelet (Haar 2-tap) Transformation of an Image (Source and DLL)

Did this just for fun. But it's extremely slow. I re-wrote it so it is very fast now. Thanks to the inbuilt multithreaded processing capabilities. Definition of Haar 2-tap transformation can be found here at Wikipedia. An excellent interactive demonstration of Haar transformation (written in Java by Tom Gibara) can be found here - Haar Wavelet Filtering. My ultimate aim is to implement some face detection algorithm here as a plugin, . Just for fun! Edit: This is not just another filter or effect you can apply to your image. Test it only if you know what Haar transform is. Paint.NET - Haar Transform.zip Example:- Before: After:
5. ## Plugin Development Primer

1) Is there an introductory tutorial on how to use Visual Studio for plugin development? I expected an SDK or something similar. I am finding it very hard to debug code with CodeLab. 2) Is there a way to pack-in multiple plugins (all related) within a single DLL? Any help appreciated. Excellent software you have created by the way. I have written some image processing stuff in C++ using the amazing FreeImage library. Now I want to port all those code to Paint.NET and release them as a plugin.