An open API service indexing awesome lists of open source software.

https://github.com/friendlymatthew/her

A image editor
https://github.com/friendlymatthew/her

image-processing png

Last synced: over 1 year ago
JSON representation

A image editor

Awesome Lists containing this project

README

          

# her


Nick Diaz
Blur Nick Diaz
Sharpen Diaz



A PNG editor from scratch (well, as close to scratch as possible).

As a decoder, this project uses the [PNG test suite](http://www.schaik.com/pngsuite/) to validate its ability to handle various PNG features and edge cases. Currently, png can decode and render images with an 8-bit color depth.

The renderer supports various image processing features on the GPU. For a detailed look at its features, visit [FEATURES](https://github.com/friendlymatthew/png/tree/main/features#readme).

## Usage

Run `cargo run --release `. For example:

```bash
cargo r --release ./tests/obama.png
```

### Additional Scripts

```bash
# Profile the decoder
./profile_decoder.sh ./tests/reagan.png

# Run ad-hoc benchmarks
cargo r --release --bin decode --features time ./tests/Periodic_table_large.png

# Run the PNG test suite
cargo r --bin png-test-suite

# Fuzz the decoder
./fuzz.sh
```

## Reading

### PNG Specification

http://www.libpng.org/pub/png/pngintro.html

https://www.w3.org/TR/2003/REC-PNG-20031110/

http://www.libpng.org/pub/png/pngpic2.html

https://www.w3.org/Graphics/PNG/platform.html

### GPU Rendering

https://sotrh.github.io/learn-wgpu/beginner/tutorial5-textures/

### Image Processing

https://www.cns.nyu.edu/pub/lcv/wang03-preprint.pdf

https://www.cns.nyu.edu/pub/eero/wang03b.pdf

https://ece.uwaterloo.ca/~z70wang/research/ssim/

http://arxiv.org/pdf/2006.13846

https://www.youtube.com/watch?v=KuXjwB4LzSA

https://www.shadertoy.com/view/4tSyzy

### Typography

https://faultlore.com/blah/text-hates-you/

https://developer.apple.com/fonts/TrueType-Reference-Manual/

### Miscellaneous

https://optipng.sourceforge.net/pngtech/optipng.html