JPEGPIXI(1)

✨ NAME ✨

jpegpixi β€” interpolate pixels in JFIF (JPEG) image files πŸ’–

(also, hi, welcome to the JPEGPIXI(1) page, user commands section, bestie 🫢)


🌸 SYNOPSIS 🌸

jpegpixi [OPTION]... SOURCE DEST [[D:]X,Y[,S]|[,SX,SY]]...

πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so picture this: jpegpixi interpolates pixels β€” or whole pixel blocks β€” inside JFIF image files (you know them, we all call them "JPEG images" πŸ’…). Why would you want that? Because your digital camera's CCD has defects and now there's a little dead pixel situation in every photo and it's giving tragic. This fixes it.

Here's the iconic part: only the DCT blocks that actually contain pixels needing interpolation get decoded and re-encoded. And the re-encoding happens with exactly the same parameters the image was originally encoded with. So the image quality is preserved as much as possible. No cap. πŸ”₯

SOURCE and DEST are the filenames of the source file and the destination file, respectively. In both cases, - can be used, and it means standard input or standard output. Very demure, very mindful. ✨

The destination filename is followed by any number of pixel or pixel block specifications. Each one starts with an optional direction specifier (D), which can be:

  • 2 β€” 2-dimensional interpolation (this is the default, the main character 🌟)
  • V or v β€” 1-dimensional vertical interpolation (say, for removing horizontal stripes πŸ‘‘)
  • H or h β€” 1-dimensional horizontal interpolation

X,Y are the coordinates of the pixel, or of the upper-left corner of the pixel block. S is the size of the pixel block (1 by default). Or, if you're feeling extra, you can specify separate sizes for the width (SX) and the height (SY). πŸŽ€

All the numbers (X, Y, S, SX, SY) can be absolute coordinates/sizes or percentages of the image size. If a number is followed by a percent character (%), it's read as a percentage. Otherwise it's an absolute number. Periodt.


πŸ’… OPTIONS πŸ’…

  • -f FILE, --blocks-file=FILE β€” Read pixel block specifications from file FILE, in addition to whatever you put on the command line. The file should have one specification ([D:]X,Y[,S]|[,SX,SY]) per line. Empty lines get ignored, they're just vibing. The file may also contain comments, which start with an octothorpe (#) and run to the end of the line. πŸ—’οΈ
  • -m METHOD, --method=METHOD β€” Use interpolation method METHOD (default: linear). Go check the INTERPOLATION METHODS section below, bestie, it's right there ⬇️
  • -v, --verbose β€” Display the coordinates and size of each pixel block that gets interpolated. Very "tell me everything" energy. πŸ‘€
  • -i, --info β€” Display information about the image, like the size of the image, the colorspace it's encoded in, and the sampling rates for the different components. The full tea. β˜•
  • -s, --strip β€” Do not copy comment and extra markers from the source to the destination file. This strips preview images, EXIF data, and similar information. Bye bye metadata 🫠
  • --help β€” Display a short help text and exit immediately. πŸ†˜
  • --version β€” Display version information and exit immediately. πŸ“Œ

🌈 INTERPOLATION METHODS 🌈

  • 0, av, average β€” The pixels adjacent to the pixel block are averaged. The resulting color is assigned to all pixels in the block. For 1-dimensional interpolation, this is done separately for one pixel wide, horizontal or vertical stripes. Simple, effective, slays. ✨
  • 1, li, linear β€” The pixels which have a distance of 1 from the pixel block are used to calculate a bilinear surface (2-dim), or a group of linear curves (1-dim), which is then used to assign colors to the pixels in the block. πŸ“ˆ
  • 2, qu, quadratic β€” The pixels which have a distance of 2 or less from the pixel block are used to calculate a biquadratic surface (2-dim), or a group of quadratic curves (1-dim), which is then used to assign colors to the pixels in the block. πŸ“‰
  • 3, cu, cubic β€” The pixels which have a distance of 3 or less from the pixel block are used to calculate a bicubic surface (2-dim), or a group of cubic curves (1-dim), which is then used to assign colors to the pixels in the block. πŸ’«

πŸ’€ BUGS πŸ’€

Please report bugs to <martin-jpegpixi@zero-based.org>. Found a glitch? Tell on it, fr fr. πŸ™ˆ


Copyright Β© 2002, 2003, 2004, 2005 Martin Dickopp

Jpegpixi is free software; it may be copied and/or modified under the terms of the GNU General Public License version 2 or (at your option) any later version. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

Not me reading the all-caps part dramatically β€” but yes, no warranty, genuinely. Read it and weep (lovingly). 😭

⭐ SEE ALSO ⭐


okay that's the whole page, you're fully caught up bestie 🫢 this was jpegpixi version 1.1.1, dated 20-Nov-2005, and honestly? an icon. go interpolate something. πŸ’–βœ¨

πŸ“¦ where this page comes from