If you'd like to upload plug-ins or post comments, please create an account below. Otherwise (e.g. for download) you do not need one! Enjoy :-)
The wavelet/JPEG 2000 plug-in, written by Divyanshu Vats, from the 2006 GIMP Google Summer of Code wavelet project, mentored by Simon Budig.
It creates three plug-ins:
jp2: JPEG 2000 support
denoise: A noise removal plug-in
ihalf: Inverse halftoning -- remove halftones from printed images.
It requires the openjpeg library, available at: http://www.openjpeg.org/
I'm not sure what the license is (the code files don't say) but the COPYING file looks pretty free.
| Attachment | Size |
|---|---|
| jp2.tar.gz | 989.86 KB |
Comments
The license of this code is
The license of this code is unclear to me (COPYING is rather generic, and some of the source files do not contain any reference).
We should try to solve this.
plugin
Is good, but the original files has some overflow bugs that leaves wrong colors. I had fixed it some time ago, and compiled it for Windows:
http://deebuv.wordpress.com/2006/08/11/saving-jp2-images/#comments
This is the link with the Windows exe and sourcecode without this bug:
http://www.megaupload.com/?d=BANPHKD6
I am not a good programmer, but this sourcecode could be useful to fix the overflow bug.
JP2 save: rate variable not initialized
I tried your Windows binary, pucelo, then I recompiled it without console windows and debug code (100 Mb instead of 500).
I had to modify the .Po files in .deps for they all refer to an H:/ drive in your machine ;)
Well, it works, but there is still the same bug as in the original version (indeed, I did not see the differences: exactly same executable size and same behavior, but I didn't try for a long time):
In both versions the compression rate slider is set to 100. If you save the image without moving it, it makes a gray empty image. If you move the slider and go back to 100 it makes a very compressed yet not so bad image: a 3.5 Mb lossless JP2 is saved as a 90 Kb file.
I initialized the compression rate so that you need not to move the slider, but I haven't done C programming for 15 years, and I never was a good C programmer. I added one line here:
/* Get other parameters from interface */parameters.numresolution = 6;
rate = 0;
dialog(&rate);
parameters.tcp_rates[0] = rate;
The bug seems to be fixed (image size with zero rate seems to be almost the same size as my lossless test image), but I'm afraid I should have initialized the variable elsewhere, since I forgot almost everything about C...
[Edited]
I also noticed that if I wanted to type the JP2 extension in uppercase, the plugin would crash. So I added:
static const char *extension[] =
{ "pgx", "pnm", "pgm", "ppm", "bmp", "j2k", "jp2", "jpt", "PGX", "PNM", "PGM", "PPM", "BMP", "J2K", "JP2", "JPT" };
Not very proud of this (if someone writes "Jp2", I suppose it will crash, too.
As for the rate statement, I finally wrote:
if (rate < 0 || rate > 100) rate = 0;
But the slider always starts at zero, which proves that the variable is out of bounds every time the program starts.
I retrieved my old C reference manual, mouldy, ill-smelling, dated 1990...
[...later] I read one page of the ill-smelling manual, and I removed my uppercase constants. Just wrote:
if (strnicmp (ext, extension[i], 3) == 0)instead of
if (strncmp (ext, extension[i], 3) == 0)Same issue in jp2read. Same remedy.
François Collard
Plugin - questions
1
Please you may explain better the content of that pack?
Fix-CA is another build of this Gimp plugin (win binary here http://photocomix-resources.deviantart.com/art/Fix-Cromatic-Aberration-9... source code and links for other binary on http://kcd.sourceforge.net/fix-ca.php )that has same name or something different? If the last which are the differences?
2
You upload on megaupload but their service is awful for all the ads and more for the long wait they impose to not paying cunstomers...i suggest (i'm not affiliate with the side) instead the free option of www.box net (10mb limit for each upload till 1GB of free usable space) that do no display adds and do no force to long wait.