All Projects → Tom94 → Tev

Tom94 / Tev

Licence: bsd-3-clause
High dynamic range (HDR) image comparison tool for graphics people. With an emphasis on OpenEXR images.

Projects that are alternatives of or similar to Tev

Metalpetal
A GPU accelerated image and video processing framework built on Metal.
Stars: ✭ 907 (+136.2%)
Mutual labels:  rendering, image
Html To Image
✂️ Generates an image from a DOM node using HTML5 canvas and SVG.
Stars: ✭ 595 (+54.95%)
Mutual labels:  image, screenshot
Picasso
Picasso is a high quality 2D vector graphic rendering library. It support path , matrix , gradient , pattern , image and truetype font.
Stars: ✭ 205 (-46.61%)
Mutual labels:  rendering, image
Renderhelp
⚡️ 可编程渲染管线实现,帮助初学者学习渲染
Stars: ✭ 494 (+28.65%)
Mutual labels:  rendering, image
Gimage
A PHP library for easy image handling. 🖼
Stars: ✭ 148 (-61.46%)
Mutual labels:  rendering, image
Media Watermark
GPU/CPU-based iOS Watermark Library for Image and Video Overlay
Stars: ✭ 170 (-55.73%)
Mutual labels:  rendering, image
Menyoki
Screen{shot,cast} and perform ImageOps on the command line 🌱 🏞️
Stars: ✭ 255 (-33.59%)
Mutual labels:  image, screenshot
Imaginary
Fast, simple, scalable, Docker-ready HTTP microservice for high-level image processing
Stars: ✭ 4,107 (+969.53%)
Mutual labels:  image
Ncine
A cross-platform 2D game engine
Stars: ✭ 372 (-3.12%)
Mutual labels:  rendering
Node Html To Image
A Node.js module that generates images from HTML
Stars: ✭ 351 (-8.59%)
Mutual labels:  image
File Upload With Preview
🖼 A simple file-upload utility that shows a preview of the uploaded image. Written in pure JavaScript. No dependencies. Works well with Bootstrap 4 or without a framework.
Stars: ✭ 352 (-8.33%)
Mutual labels:  image
React Mindmap
React component for MindNode maps
Stars: ✭ 357 (-7.03%)
Mutual labels:  rendering
Tinyraytracer
A brief computer graphics / rendering course
Stars: ✭ 3,971 (+934.11%)
Mutual labels:  rendering
Slurp
Select a region in a Wayland compositor
Stars: ✭ 350 (-8.85%)
Mutual labels:  screenshot
Easy3d
A lightweight, easy-to-use, and efficient C++ library for processing and rendering 3D data
Stars: ✭ 383 (-0.26%)
Mutual labels:  rendering
Bulletproof
PHP secure Image uploader, with a nice API
Stars: ✭ 352 (-8.33%)
Mutual labels:  image
React Slate
Write interactive CLI apps with React
Stars: ✭ 385 (+0.26%)
Mutual labels:  rendering
Awesome Image Registration
image registration related books, papers, videos, and toolboxes
Stars: ✭ 380 (-1.04%)
Mutual labels:  image
Picassopalette
Android Lollipop Palette is now easy to use with Picasso !
Stars: ✭ 366 (-4.69%)
Mutual labels:  image
Imaging
Imaging is a simple image processing package for Go
Stars: ✭ 4,023 (+947.66%)
Mutual labels:  image

tev — The EXR Viewer

A high dynamic range (HDR) image comparison tool for graphics people. tev allows viewing images through various tonemapping operators and inspecting the values of individual pixels. Often, it is important to find exact differences between pairs of images. For this purpose, tev allows rapidly switching between opened images and visualizing various error metrics (L1, L2, and relative versions thereof). To avoid clutter, opened images and their layers can be filtered by keywords.

While the predominantly supported file format is OpenEXR certain other types of images can also be loaded. The following file formats are currently supported:

  • EXR (via OpenEXR)
  • PFM (compatible with Netbpm)
  • DDS (via DirectXTex; Windows only. Shoutout to Craig Kolb for adding support!)
    • Supports BC1-BC7 compressed formats.
    • Low-dynamic-range (LDR) images are "promoted" to HDR through the reverse sRGB transformation.
  • HDR, BMP, GIF, JPEG, PIC, PNG, PNM, PSD, TGA (via stb_image)
    • stb_image only supports subsets of each of the aforementioned file formats.
    • Low-dynamic-range (LDR) images are "promoted" to HDR through the reverse sRGB transformation.

Screenshot

Screenshot A false-color comparison of two multi-layer OpenEXR images of a beach ball. Image courtesy of openexr-images.

Usage

Graphical User Interface

Images can be opened via a file dialog or simply by dragging them into tev. They can be reloaded, closed, or filtered at any time, so don't worry about opening more images than exactly needed.

Select an image by left-clicking it, and optionally select a reference image to compare the current selection to by right-clicking. For convenience, the current selection can be moved with the Up/Down or the 1-9 keys. For a comprehensive list of keyboard shortcuts simply click the little "?" icon at the top (or press "h").

If the interface seems overwhelming, simply hover any controls to view an explanatory tooltip.

Command Line

Simply supply images as positional command-line arguments.

$ tev foo.exr bar.exr

By default, all layers and channels are loaded, but individual layers or channels can also be specified. In the following example, the depth layer of foo.exr and the r, g, and b channels of foo.exr and bar.exr are loaded.

$ tev :depth foo.exr :r,g,b foo.exr bar.exr

Other command-line arguments also exist (e.g. for starting tev with a pre-set exposure value). For a list of all valid arguments simply invoke

$ tev -h

Obtaining tev

macOS / Windows

Pre-built binaries for Windows (32-bit and 64-bit) and macOS (64-bit) are available on the releases page.

Linux

Building tev

All that is required for building tev is a C++11-compatible compiler (C++17 on Windows). Begin by cloning this repository and all its submodules using the following command:

$ git clone --recursive https://github.com/Tom94/tev

If you accidentally omitted the --recursive flag when cloning this repository you can initialize the submodules like so:

$ git submodule update --init --recursive

tev uses CMake as its build system. The following sections detail how it should be used on various operating systems.

macOS / Linux

On macOS and most Linux distributions CMake can be obtained via a package manager (Homebrew on macOS, apt on Ubuntu/Debian, etc.). Most Linux distributions additionally require xorg, gl, and zlib development packages and zenity. On Ubuntu/Debian simply call

$ apt-get install cmake xorg-dev libglu1-mesa-dev zlib1g-dev zenity

Once all dependencies are installed, create a new directory to contain build artifacts, enter it, and then invoke CMake with the root tev folder as argument as shown in the following example:

$ mkdir build
$ cd build
$ cmake ..

Afterwards, tev can be built and installed via

$ make -j
$ make install

Windows

On Windows, install CMake, open the included GUI application, and point it to the root directory of tev. CMake will then generate Visual Studio project files for compiling tev. Make sure you select at least Visual Studio 2017 or higher!

License

tev is available under the BSD 3-clause license, which you can find in the LICENSE.md file. TL;DR you can do almost whatever you want as long as you include the original copyright and license notice in any copy of the software and the source code.

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].