All Projects β†’ mnhrdt β†’ Imscript

mnhrdt / Imscript

Licence: other
a collection of small and standalone utilities for image processing, written in C

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Imscript

Chafa
πŸ“ΊπŸ—Ώ Terminal graphics for the 21st century.
Stars: ✭ 774 (+800%)
Mutual labels:  cli, image-processing, images
Imagemin Module
Automatically optimize (compress) all images used in Nuxt.js
Stars: ✭ 37 (-56.98%)
Mutual labels:  image-processing, images
Cometa
Super fast, on-demand and on-the-fly, image processing.
Stars: ✭ 8 (-90.7%)
Mutual labels:  image-processing, images
Luneta
command-line fuzzy finder
Stars: ✭ 49 (-43.02%)
Mutual labels:  cli, unix
Ipt
Interactive Pipe To: The Node.js cli interactive workflow
Stars: ✭ 783 (+810.47%)
Mutual labels:  cli, unix
Python Compare Images
This repository is mainly about comparing two images. The technique used is SSIM. i.e. Structural Similarity Index Measure We use some of the inbuilt functions available in python's skimage library to measure the SSIM value. Along with SSIM we also measure the MSE ( Mean Square Error ) To know more about the SSIM technique Refer Here: https://en.wikipedia.org/wiki/Structural_similarity
Stars: ✭ 25 (-70.93%)
Mutual labels:  image-processing, images
Ed
A modern UNIX ed (line editor) clone written in Go
Stars: ✭ 44 (-48.84%)
Mutual labels:  cli, unix
Imgur Screenshot
Take screenshot selection, upload to imgur. + more cool things
Stars: ✭ 540 (+527.91%)
Mutual labels:  cli, unix
Batchimageprocessor
A Mass Image Processing tool for Windows
Stars: ✭ 55 (-36.05%)
Mutual labels:  cli, image-processing
Catt
Detecting the temperature from an infrared image
Stars: ✭ 60 (-30.23%)
Mutual labels:  image-processing, images
Wsend
wsend: The opposite of wget
Stars: ✭ 64 (-25.58%)
Mutual labels:  cli, unix
Cross Platform Node Guide
πŸ“— How to write cross-platform Node.js code
Stars: ✭ 1,161 (+1250%)
Mutual labels:  cli, unix
Buildxl
Microsoft Build Accelerator
Stars: ✭ 676 (+686.05%)
Mutual labels:  cli, unix
Sv Images
Image manipulation library with an HTTP based API.
Stars: ✭ 7 (-91.86%)
Mutual labels:  image-processing, images
Oblique
With Oblique explore new styles of displaying images
Stars: ✭ 633 (+636.05%)
Mutual labels:  image-processing, images
Openexr
The OpenEXR project provides the specification and reference implementation of the EXR file format, the professional-grade image storage format of the motion picture industry.
Stars: ✭ 992 (+1053.49%)
Mutual labels:  image-processing, images
Mario
Powerful Python pipelines for your shell
Stars: ✭ 469 (+445.35%)
Mutual labels:  cli, unix
Whipper
Python CD-DA ripper preferring accuracy over speed
Stars: ✭ 517 (+501.16%)
Mutual labels:  cli, unix
Images Web Crawler
This package is a complete tool for creating a large dataset of images (specially designed -but not only- for machine learning enthusiasts). It can crawl the web, download images, rename / resize / covert the images and merge folders..
Stars: ✭ 51 (-40.7%)
Mutual labels:  image-processing, images
Opendcx
OpenDCX Repository
Stars: ✭ 67 (-22.09%)
Mutual labels:  image-processing, images

IMSCRIPT

  1. OVERVIEW

This is a collection of small independent image processing utilities in C. These tools allow to do image processing from the comfort of the command line.

There is an online tutorial: http://gabarro.org/ccn/itut/i.html

  1. PHILOSOPHY

Classic unix philosophy, with some specificities for images:

  • each program does one thing and does it well
  • programs work together via pipes
  • offer mechanism, not policy
  • images are arrays of numbers, representable by text files
  • image metadata is always ignored (not used, not propagated)

Notice that imscript programs will read any common image format, but will only write asc, pnm, png, and tiff.

See doc/misc/nipl.txt for a more complete description of the underlying philosophy.

  1. IMPLEMENTATION

The graph of dependencies between files is as disconnected as possible. Most programs use the functions from "iio.c" for opening and saving images. The interactive tools use the functions from "ftr.c" for the gui. Some files may be directly included into others (e.g., "random.c").

  1. COMPILATION

make full -j # build all the tools (including the interctive ones) make -j # build only the basic tools

  1. PREREQUISITES

The only real prerequisites are a C compiler and libfftw3f.

It is useful if you have libtiff, libjpeg, and libpng for input/output.

For the interactive tools you will need furthermore libX11.

Some tools on section "misc" require furthermore libgsl and libgslcblas.

  1. INSTALLATION

There is no automatic installation. After compilation, just copy or link the desired executables into your PATH (or add imscript/bin into the path).

  1. SUMMARY OF PROGRAMS
  • Filters: read one image and write one image of the same size

    • blur: convolve an image by a shift-invariant user-specified kernel
    • morsi: apply a morphological operation with a user-specified element
    • qeasy: re-scale the dynamic range of an image
    • qauto: re-scale the dynamic range of an image, automatically
    • palette: colorize a grayscale image using a palette
    • dither: binarize an image by error diffusion
    • iion: copy named input to named output (useful to change file format)
  • Accumulators: combine several images into one

    • plambda: apply an arbitrary pixel-wise expression, given explicitly
    • veco: generic pixel-wise expressions for gray images, gray output
    • vecov: generic pixel-wise expressions for color images, color output
    • vecoh: generic pixel-wise operations for gray images, color output
    • tbcat: concatenate two image (top-bottom)
    • lrcat: concatenate two image (left-right)
  • Queries: extract data from one image

    • imprintf: print a formatted string of image data
    • ghisto: common histogram
    • contihist: continuous histogram
    • viewflow: represent a vector field using a color code
    • flowarrows: represent a vector field using arrows
  • Interpolators: fill-in the holes of one image

    • nnint: nearest neighbor interpolation
    • bdint: interpolation from the boundary of each hole
    • simpois: poisson, laplace and biharmonic interpolators
    • amle: absolutely minimizing lipschitz extension
  • Rescalers: produce an image of different size or shape

    • downsa: zoom out by combining blocks of pixels
    • upsa: zoom in by interpolation inside cells
    • ntiply: zoom in by pixel replication
    • imflip: rotate or transpose the image domain
    • homwarp: apply an arbitrary homography to the image domain
  • Frequecy domains:

    • fft: discrete Fourier transform (direct)
    • ifft: discrete Fourier transform (inverse)
    • dct: discrete cosine transform
    • dht: discrete Hartley transform
  • Point processing:

    • pview: display points or matches as an image
    • ransac: generic ransac implementation
    • srmatch: multi-scale sift matching for registration
    • plyflatten: project 3D points into a 2.5D representation
    • colormesh: build 3D mesh from calibrated 2.5D representation
    • ijmesh: build 3D mesh from non-calibrated 2.5D representation
  • Multi-program suites:

    • siftu: operations for sift keypoints
    • tiffu: operations for tiff files
    • fontu: operations for bitmapped fonts
  • Miscellaneous:

    • synflow: generate a synthetic optical flow field
    • ccproc: connected component filtering
    • ihough2: generic hough transform (for straight lines)
    • tdip: cylindrical hough transform (for sinusoids)
    • rpc_pm: patch match in the altitude domain
    • distance: distance function to a given set of points
    • sdistance: signed distance to the boundaries of a binary image
    • ppsmooth: periodic + smooth image decomposition
    • pmba2: poor man bundle adjustment
    • tcregistration: register two images by translation
  • Interactive programs:

    • cpu: display an image with panning, zooming, contrast changes, and dft
    • rpcflip: flip between several geo-referenced satellite images
    • powerkill: fourier-domain band-pas filter editor
    • epiview: visualize the epipolar geometry between two images
    • viho: interactive homographic visualization
    • dosdo: look at an image and its fourier transform side by side
    • icrop: interactive crop
    • vnav: visualize cylindrical images

    NOTE: all interactive programs admit two backends. By default, they open an x-window. But they can also be compiled as "name_term" and then a simpler backend without graphical dependencies is produced. This backend us based on ANSI control sequences and utf-8 characters and should work on many modern terminals. This backend is useful for interactive image visualization behind ssh. Note that mouse support is still lacking for the ANSI backend, only the keyboard works.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].