sam
36fb60cacf
* transform.c: implement pipi_rotate90, pipi_rotate180 and pipi_rotate270.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2750 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
2da45f954b
* Implement pipi_vflip() and pipi_hflip().
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2749 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
0cab178432
* color.c: implement pipi_threshold().
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2747 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
31fec9b526
* Add pipi_dilate() / pipi_erode() and --dilate / --erode.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2746 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
d9f3b654bc
* median.c: add a median filter. Highly unoptimised for now.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2744 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
baa3d82e4b
* Move the palette reduction algorithm into pipi_reduce().
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2736 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
e50ce5c67a
* color.c: implement pipi_brightness() and pipi_contrast().
* pipi.c: add --brightness and --contrast.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2725 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
jylam
22b3af001b
* Added string.h to list of included files, for memcpy()
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2722 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
18e1cc4471
* Add pipi_invert() to invert an image's colours.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2718 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
48b881b6fa
* Add pipi_tile, to create image mosaics.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2717 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
97930521fc
* blur.c: add an argument to the gaussian convolution to specify an angle.
Of course since the kernel is no longer separable, it becomes awfully
slow with large images. Here is a tileable brushed metal texture:
# pipi pipi:random512x512 --wrap --blur 20x0r25 -o image.png
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2715 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
b74fad466b
* Implement difference, multiply, divide, screen and overlay blend methods.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2711 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
da84205cde
* subadd.c: add pipi_sub() and pipi_add() as another way to combine two
images.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2708 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
6fb5354eff
* minmax.c: add pipi_min() and pipi_max() as another way to combine two
images.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2706 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
9bd6b555f9
* mean.c: implement pipi_mean() to compute a mean image.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2705 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
25cdf35a86
* jajuni.c: add Jarvis-Judice-Ninke dithering. It's a Floyd-Steinberg-like
error diffusion method that has fewer high resolution structural artifacts
at the expense of resolution.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2700 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
eb9a270380
* pipi_dither_ordered() now takes two arguments; any image can be used as
the ordered dithering matrix. To get the old behaviour, use:
pipi image.png pipi:bayer8 --dither ordered out.png
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2696 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
3014994c61
* codec.c: support for stock images in pipi_load().
* stock.c: start working on stock image generation; for instance:
pipi pipi:bayer64 -o image.png
will generate a 64x64 Bayer dithering pattern and save it to image.png.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2695 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
0f3943d0fe
* Add functions that handle a stack-based processing queue.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2692 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
77ec441434
* blur.c: implement box blur; currently runs in O(n) but we could make it
O(1) trivially.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2681 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
b7c2d1f847
* autocontrast.c: simple autocontrast filter; does not work very well.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2680 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
c269c219b2
* Get rid of test.c, it was no longer useful anyway.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2679 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
jylam
baa61a9f6d
* Handle alpha layer in floodfill (but don't make it conditionnal to the algorithm)
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2678 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
jylam
290e151913
* First shot of a floodfiller (both u32 and float, 4 neighbours)
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2676 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
0eda956bfc
* random.c: implement random dithering using a deterministic pseudo-RNG.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2671 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
66f9ce5ea4
* pipi.c: implement pipi_copy().
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2668 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
a17c6753e3
* pixels.c: store byte length and bits-per-pixel value in the pipi_pixels_t
structure.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2667 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
41efcdecc0
* Prefix dithering functions with _dither_ to avoid namespace cluttering.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2666 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
6a3309663e
* ordered.c: implement Bayer dithering (pretty trivial).
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2665 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
89f35cb8fd
* convolution.c: generic convolution method. Does not take advantage of
separable kernels yet.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2658 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
87f8e922ab
* Error diffusion methods now support either raster or serpentine scan.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2656 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
302ce37f8e
* ostromoukhov.c: Ostromoukhov's simple error diffusion algorithm.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2654 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
628c2618da
* dbs.c: new dithering function: Direct Binary Search. One of the best
dithering methods as of today, though extremely slow.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2651 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
eaad4db6f9
* measure.c: there is now pipi_measure_msd in addition to pipi_measure_rmsd.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2650 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
1408cff41d
* Add Floyd-Steinberg grayscale dithering.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2637 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
9a536afd4f
* measure.c: started writing error/measure functions. First one is RMSD.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2635 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
eea9f9b829
* pixels.c: start supporting grayscale images.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2633 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
0d8f01566b
* pixels.c: add support for 24-bpp BGR format.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2630 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
8953c91d6b
* pipi.c: reimplement pipi_new() without relying on the underlying codec
library, so we can have several or none of them at some time.
* sdl.c imlib.c: allow to save images that weren't created using the
current codec.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2629 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
4a857277a7
* blur.c: support for variable blur radius and Gaussian offset.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2617 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
31328a14aa
* Big API reorganisation. Now libpipi can transparently convert between
colour spaces for a given image. For instance, if pipi_gaussian_blur is
applied to a 32-bpp image, it is automatically converted to gamma-corrected
32-bit floats beforehands, then converted back to normal.
* TODO: clipping, regions of interest, more formats, getpixel macros...
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2605 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
7d147f3576
* Test implementation of Gaussian blurring. It's awfully slow and does not
use the separation property, but it's just for a test.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2603 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
1d6c2c507d
* Implemented 24 -> 16 bpp dithering.
* Added the --bpp flag to genethumb.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2263 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
735b2a5da0
* Checking in an old Rubik's cube dithering test.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2262 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
d8aa3a24c3
* getpixel/setpixel functions use doubles instead of ints for now.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2260 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
84cc96a98e
* Starting image resizing. X-wise resize works so far.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2244 92316355-f0b4-4df1-b90c-862c8a59935f
16 years ago
sam
53aa513e3e
* Import image loading features from PWNtcha. As they are more than 4-year
old, they will certainly require some cleanup, eg. pkg-config transitions.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2228 92316355-f0b4-4df1-b90c-862c8a59935f
17 years ago
sam
08e83cb836
* Initial code skeleton.
git-svn-id: file:///srv/caca.zoy.org/var/lib/svn/libpipi/trunk@2227 92316355-f0b4-4df1-b90c-862c8a59935f
17 years ago